您的位置:首页 > 数据库 > Mongodb

MongoDB副本集的配置示例

2013-05-08 16:06 429 查看
以下是我在2012年8月初对mongodb副本集的一个实践,mongodb的版本是2.0.4

原文是:http://www.mongodb.org/download/attachments/9830402/mongodb+replica+sets+intro.pdf

PS:原文链接打不开了,原文的文档在http://download.csdn.net/detail/cfeibiao/5344994这里可以下载

注意:MongoDB的版本必须在1.6以上。

首先,我们先创建只有一个节点的副本集(你同样可以一次性把包含多个节点的副本集创建出来)。如下图所示:


其中,启动时使用--rest选项可以让我们使用MongoDB内置的在28017端口的web管理界面,这个端口比你启动Mongod时的端口要大1000。“myset”是副本集的名字。

现在,我们查看一下副本集的状态


上面的信息表明我们还没有对副本集进行初始化。我们还可以通过浏览器来查看副本集的状态。如下图所示:


接下来就对副本集进行初始化。如下图所示:


经过初始化之后,我们再一次查看副本集的状态。如下图所示:


从上图的信息可以看出,192.168.95.238是主节点,并且是副本集目前唯一的节点。再次从浏览器来查看副本集的状态:


下面我们就可以操作MongoDB了,以下是一些示例操作:


MongoDB的写操作会被记录到local.oplog.rs集合里。如下图


下面我们会给副本集添加第二个节点,显然只有一个节点的副本集是没有多大用处的。启动第二个节点,如下图所示:


将第二节点添加到myset副本集里。如下图所示:



现在的web状态页的信息就更加丰富了。如下图所示:



上图里有“Votes”一列,该列说的是该节点拥有投票的票数。偶数票是不利于选举出主节点的。下面我们会添加一个仲裁节点。 仲裁节点是用来监控其他节点的,和打破选举的僵局的。仲裁节点花费非常少的资源,几乎可以在任何机器上运行(32位机也能运行得很好)。启动仲裁节点,如下图所示:


上图的--oplogSize是可选的。作为仲裁节点,oplog的大小不需要很大。仲裁节点在local数据库里存储了一份副本集的配置的副本。将仲裁节点添加到副本集,如下图所示:


现在web状态页就会多了一些关于仲裁节点的信息,如下图所示:


如果192.168.95.238宕掉了,副本集会自动选举出一个新的主节点,如下图所示:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: