replication set复制集
replicattionset 多台服务器维护相同的数据副本,提高服务器的可用性.
Replication set设置全过程
0:创建目录
mkdir -p/data/r0 /data/r1 /data/r2
1:启动3个实例,且声明实例属于某复制集
./bin/mongod--port 27017 --dbpath /data/r0 --smallfiles --replSetrsa --fork --logpath /var/log/mongo17.log
./bin/mongod--port 27018 --dbpath /data/r1 --smallfiles --replSetrsa --fork --logpath /var/log/mongo18.log
./bin/mongod--port 27019 --dbpath /data/r2 --smallfiles --replSetrsa --fork --logpath /var/log/mongo19.log
2:配置
rsconf = {
_id:'rsa',
members:
[
{_id:0,
host:'192.168.1.201:27017'
}
]
}
3: 根据配置做初始化
rs.initiate(rsconf);
4: 添加节点
rs.add('192.168.1.201:27018');
rs.add('192.168.1.201:27019');
5:查看状态
rs.status();
6:删除节点
rs.remove('192.168.1.201:27019');
7:主节点插入数据
>use test
>db.user.insert({uid:1,name:'lily'});
8:连接secondary查询同步情况
./bin/mongo--port 27019
>use test
>show tables
rsa:SECONDARY>show tables;
Sat Aug 1716:03:55.786 JavaScript execution failed: error: { "$err" : "notmaster and slaveOk=false", "code" : 13435 }
8.1 出现上述错误,是因为slave默认不许读写
>rs.slaveOk();
>show tables
#看到与primary 一致的数据
本文转自不要超过24个字符博客51CTO博客,原文链接http://blog.51cto.com/cstsncv/1944410如需转载请自行联系原作者
cstsncv