【发布时间】:2016-11-18 12:28:46
【问题描述】:
我有两台电脑,IP 地址分别为 10.1.1.52 和 10.1.1.11。我想配置 mongo 复制(无分片),一个主节点和一个辅助节点在 10.1.1.52 上运行,一个辅助节点在 10.1.1.11 上运行。
我已按照以下步骤操作:
使用以下命令在 10.1.1.11 PC 上运行三个配置服务器::
mongod --configsvr --port 26050 --logpath /data/db/log.cfg0 --logappend --dbpath /data/db/cfg0 –fork
mongod --configsvr --port 26051 --logpath /data/db/log.cfg1 --logappend --dbpath /data/db/cfg1 –fork
mongod --configsvr --port 26052 --logpath /data/db/log.cfg2 --logappend --dbpath /data/db/cfg2 –fork
随后我创建了一个副本集 ('a') 并使用以下命令向其中添加了三个节点(第一个在 10.1.1.11 上,另外两个在 10.1.1.52 上):
mongod --replSet a --dbpath /data/a/a0 --logpath /data/a/log.a0 --port 27000 --fork --logappend --smallfiles --oplogSize 50
mongod --replSet a --dbpath /data/a/a1 --logpath /data/a/log.a1 --port 27001 --fork --logappend --smallfiles --oplogSize 50
mongod --replSet a --dbpath /data/a/a2 --logpath /data/a/log.a2 --port 27002 --fork --logappend --smallfiles --oplogSize 50
我使用以下命令在 10.1.1.11 上设置查询路由器:
mongos --configdb gaugedata-elastic:26050,gaugedata-elastic:26051,gaugedata-elastic:26052 --fork --logappend --logpath /data/db/log.mongos --port 26060
之后我输入以下命令从 mongos 连接并启动副本集:
mongo --port 27000
rs.initiate()
现在面临的问题是添加节点之后:
rs.add("10.1.1.52:27001")
rs.add("10.1.1.52:27002")
在远程 PC 上运行的节点,即 10.1.1.52 不可访问且不健康。但是,在我的 PC 上运行的节点,即 10.1.1.11 会自动声明为 SECONDARY。
【问题讨论】:
-
防火墙规则是否可能阻止了端口 27001 和 27002 上的通信?
标签: mongodb replication mongodb-replica-set