一:搭建replica sets
详见:点击打开链接
二:添加一个成员到replica sets
replica sets 翻译,为副本集
1:现在已经启动5个node
2:连接到管理节点,查看状态
3:开始添加node
(1):启动新实例,host不变,port+1=29996
mongod -f node6.cfg
(2):添加到原来的副本集
登录到primary,执行
如图,则添加成功。
ps:rs.add({_id: 1, host: "mongodb3.example.net:27017", priority: 0, hidden: true})
(3):查看状态
(4):简单测试
primary插入一条数据
PRIMARY> show dbs;
local 0.09375GB
test (empty)
PRIMARY> use test
switched to db test
PRIMARY> show collections;
PRIMARY> db.t.insert({key:"hello world"});
PRIMARY> db.t.find();
{ "_id" : ObjectId("5080bae6cbf7622fb83b505a"), "key" : "hello world" }
PRIMARY>
新增加的node中查看下,是否有?
C:\Documents and Settings\computer>mongo -port 29995
MongoDB shell version: 2.0.7
connecting to: 127.0.0.1:29995/test
SECONDARY> show dbs;
local 0.09375GB
test 0.03125GB
SECONDARY> use test;
switched to db test
SECONDARY> db.t.find();
error: { "$err" : "not master and slaveok=false", "code" : 13435 }
SECONDARY> db.getMongo().setSlaveOk();
not master and slaveok=false
SECONDARY> db.t.find();
{ "_id" : ObjectId("5080bae6cbf7622fb83b505a"), "key" : "hello world" }
SECONDARY>
注:
1:启动,配置rs都可以脚本话
2:一个node可以从副本集移除,也可以再次加入进来。
3:如果你对一个node创建了快照,你可以把data文件copy到一个新的系统中,然后用来初始化一个新的node。这样node同步时间可能会少点。
4:一个副本集中最多7个成员进行投票,如果当前副本集已经有7个可以投票的node,还想增加新node,
(1)、增加不参与投票的node
(2)、取消当前的7个中任意一个node的投票权。