步骤:
一、启动三台进程
1、./bin/mongod --dbpath=/home/work/app/mongodb/mongodb-linux-x86_64-amazon-3.2.7/data/r0 --logpath=/home/work/logs/mongodb/r0.log --fork --port=27017 --replSet=rs1
2、./bin/mongod --dbpath=/home/work/app/mongodb/mongodb-linux-x86_64-amazon-3.2.7/data/r1 --logpath=/home/work/logs/mongodb/r1.log --fork --port=27018 --replSet=rs1
2、./bin/mongod --dbpath=/home/work/app/mongodb/mongodb-linux-x86_64-amazon-3.2.7/data/r2 --logpath=/home/work/logs/mongodb/r2.log --fork --port=27019 --replSet=rs1
最重要的就是要声明三个mongo进程是在用一个复制集--replSet=rs1
二、配置
1、用mongo客户端任意连接到一个进程 ./bin/mongo,切到use admin
var rsconf = {
_id:‘rs1‘,
members:[
{
_id:0,
host:‘192.168.1.201:27107‘
},
{
_id:1,
host:‘192.168.1.201:27108‘
},
{
_id:2,
host:‘192.168.1.201:27109‘
},
]
}
2、根据配置做replcation set 的初妈化
rs.initiate(rsconf);
3、添加节点
rs.add(‘192.168.1.201:27018‘);
rs.add(‘192.168.1.201:27019‘);
4、查看状态
rs.status();
5、删除节点
rs.remove(‘192.168.1.201:27019‘);
如果在使用节点时,出现以下错误
JavaScript execution failed: error: { "$err" : "not master and slaveOk=false", "code" : 13435 }
出现上述错误,是因为slave默认不许读写
rs.slaveOk();