Mongodb 复制(辅助服务器)
Mongodb replication (secondary server)
我使用 2 台服务器设置了 MongoDB 的主从复制。问题是我总是在主服务器中插入数据后在从服务器中分配rs.slaveOk()。我想自动同步(中学不需要 rs.slaveOk())!我需要更改哪些配置?谢谢 !
这是我的rs.conf()主从复制!
> rs2:PRIMARY> rs.conf() { "_id" : "rs2", "version" : 3,
> "protocolVersion" : NumberLong(1), "members" : [ { "_id" : 0,
> "host" : "192.168.56.104:27017", "arbiterOnly" : false,
> "buildIndexes" : true, "hidden" : false, "priority" : 1,
> "tags" : {
> }, "slaveDelay" : NumberLong(0), "votes" : 1 }, { "_id" : 1, "host" : "192.168.56.106:27017", "arbiterOnly" :
> false, "buildIndexes" : true, "hidden" : false, "priority" :
> 0, "tags" : {
> }, "slaveDelay" : NumberLong(0), "votes" : 1 } ], "settings" : { "chainingAllowed" : true,
> "heartbeatIntervalMillis" : 2000, "heartbeatTimeoutSecs" : 10,
> "electionTimeoutMillis" : 10000, "getLastErrorModes" : {
> }, "getLastErrorDefaults" : { "w" : 1, "wtimeout" : 0 }, "replicaSetId" : ObjectId("5a1e37704f3b7025eccaa874") } }
您可以创建一个文件 /etc/mongorc.js
并在其中添加 rs.slaveOk()
。每次 shell 启动时都会评估该文件。
您可以查看 here 以获得更多说明。
或者,另一种方法是使用以下命令启动 mongo:
>mongo --port 27012 --eval "rs.slaveOk()" --shell
slaveOk()
仅对执行它的控制台会话有效,因此您需要传入脚本或使用 --shell 参数保持与控制台的连接。
我使用 2 台服务器设置了 MongoDB 的主从复制。问题是我总是在主服务器中插入数据后在从服务器中分配rs.slaveOk()。我想自动同步(中学不需要 rs.slaveOk())!我需要更改哪些配置?谢谢 !
这是我的rs.conf()主从复制!
> rs2:PRIMARY> rs.conf() { "_id" : "rs2", "version" : 3,
> "protocolVersion" : NumberLong(1), "members" : [ { "_id" : 0,
> "host" : "192.168.56.104:27017", "arbiterOnly" : false,
> "buildIndexes" : true, "hidden" : false, "priority" : 1,
> "tags" : {
> }, "slaveDelay" : NumberLong(0), "votes" : 1 }, { "_id" : 1, "host" : "192.168.56.106:27017", "arbiterOnly" :
> false, "buildIndexes" : true, "hidden" : false, "priority" :
> 0, "tags" : {
> }, "slaveDelay" : NumberLong(0), "votes" : 1 } ], "settings" : { "chainingAllowed" : true,
> "heartbeatIntervalMillis" : 2000, "heartbeatTimeoutSecs" : 10,
> "electionTimeoutMillis" : 10000, "getLastErrorModes" : {
> }, "getLastErrorDefaults" : { "w" : 1, "wtimeout" : 0 }, "replicaSetId" : ObjectId("5a1e37704f3b7025eccaa874") } }
您可以创建一个文件 /etc/mongorc.js
并在其中添加 rs.slaveOk()
。每次 shell 启动时都会评估该文件。
您可以查看 here 以获得更多说明。
或者,另一种方法是使用以下命令启动 mongo:
>mongo --port 27012 --eval "rs.slaveOk()" --shell
slaveOk()
仅对执行它的控制台会话有效,因此您需要传入脚本或使用 --shell 参数保持与控制台的连接。