注:本文使用MongDB版本2.2.3,测试环境win7 32位,下载的时候注意版本。局域网环境。使用2台笔记本。
一、副本集合架构图
Z1:192.168.0.101:7300 仲裁服务器
A_1 :192.168.0.101: 7400 primary
B_1:7192.168.0.101:7500 secondary
C_1:7192.168.0.101:7600 secondary
副本集合:
A_1 : 副本集secondary节点 ,路径:F:\MongDB_A
B_1 : 副本集primary 节点,启动设置的默认连接节点。F:\MongDB_B
Z1:仲裁节点, 路径:F:\MongDB_Z
C_1: 副本集secondary节点,路径F:\MongDB_C
Z1会实时扫描其它三台机器,以便priamry挂掉的时候提升其它的一台主机为primary。
1.启动192.168.0.101:7400 节点,replSet 名称: shop
mongod --dbpath F:\MongDB_A\data\db --port 7400 --replSet shop/192.168.0.101:7400--bind_ip 192.168.0.101
启动MongDB注意事项:
1.在启动的时候确定好IP地址,并使用参数--bind_ip 将启动端口和ip地址绑定。并且不推荐使用127.0.0.1 的启动方式,避免在后续addShard的时候报下面的错误:
1)无法连接到指定的服务器。
2)XXX:XXX服务器不在副本集合XXX中。
3)如果是局域网,推荐使用局域网IP
2.启动 192.168.0.101:7500 节点
mongod --dbpath F:\MongDB_B\data\db --port 7500 --replSet shop/192.168.0.101:7400 --bind_ip 192.168.0.101
3.初始化 replSet shop ,登陆任意一个节点,切换到admin用户:
执行命令初始化:
db.runCommand({"replSetInitiate":{
"_id":"shop","members":[
{"_id":1,"host":"192.168.0.101:7400"},
{"_id":2,"host":"192.168.0.101:7500"}
]}})
运行完成后可以看到有一个节点默认设置为primary另外一个是 secondary
4. 加入仲裁节点7300
从理论上说,7400,7500中如果主节点 7400挂掉的话,replset会自动选出一个节点,但是如果节点比较多,则需要一个仲裁者来决定把那台机器提升为 primary。
1)先将服务器加入replset shop中
mongod --dbpath F:\MongDB_Z\data\db --port 7300 --replSet shop/127.0.0.1:7400
7400 需要指向集合中的一台数据库服务器端口。
2)设置7300为仲裁服务器
登陆7400使用admin数据库,执行:rs.addArb(“127.0.0.1:7300”);
可以看到服务器配置成功。
转载于:https://blog.51cto.com/mvc2008mvc/1228700