注:本文使用MongDB版本2.2.3,测试环境win7 32位,下载的时候注意版本。局域网环境。使用2台笔记本。

一、副本集合架构

 

 

 

 

 

095245371.png

 

 

 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

095524868.png

 

  启动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"}

]}})

 

095918826.png095930884.png

 

 

 

 

运行完成后可以看到有一个节点默认设置为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”);

 

 

095947360.png

095947447.png

 

可以看到服务器配置成功。