我这期接着上期的说副本集,副本集主要特点体现在两个方面: 1、副本集没有特定的主数据库 2、如果出现了宕机等故障,集群就会推选出来一个数据库作为主数据库,这就具备了自动故障恢复功能。 下面我们实际来操作下: 我们在文件夹中复制出mongodb mongodb2
我这期接着上期的说副本集,副本集主要特点体现在两个方面:
1、副本集没有特定的主数据库
2、如果出现了宕机等故障,集群就会推选出来一个数据库作为主数据库,这就具备了自动故障恢复功能。
下面我们实际来操作下:
我们在文件夹中复制出mongodb mongodb2 mongodb3 来分别作为我们即将操作的 主数据库、从数据库和仲裁数据库。
一、我们为我们即将操作的集群起个名字,就叫我的博客英文名:jessonlv.--replSet表示让服务器知道jessonlv下还有其他数据库, 这里就把F盘里面的mongodb程序打开,端口为2222。指定端口为3333是jessonlv集群下的另一个数据库服务器
mongod --dbpath=F:\mongodb\db --port 2222 --replSet jessonlv/127.0.0.1:3333
二、启动端口为3333的mongodb。
mongod --dbpath=F:\mongodb2\db --port 3333 --replSet jessonlv/127.0.0.1:2222
mongo 127.0.0.1:2222/admin db.runCommand({"replSetInitiate":{ "_id":"jessonlv", "members":[ { "_id":1, "host":"127.0.0.1:2222" }, { "_id":2, "host":"127.0.0.1:3333" } ]}})
指定仲裁服务器: mongod --dbpath=F:\mongodb3\db --port 4444 --replSet jessonlv/127.0.0.1:2222
在admin集合中使用rs.addArb()追加 mongo 127.0.0.1:2222/admin rs.addArb("127.0.0.1:4444")