Sat*_*abu 5 mongodb database-replication replicaset
我已经设置了一个带有 3 个节点(虚拟机运行 CentOS)的 MongoDB 副本集。一个节点成为主节点,其他 2 个节点卡在启动中。当这 2 个节点将其状态从启动更改为辅助时。
aryabhata:PRIMARY> rs.status()
{
"set" : "aryabhata",
"date" : ISODate("2016-04-30T08:10:45.173Z"),
"myState" : 1,
"members" : [
{
"_id" : 0,
"name" : "localhost.localdomain:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 69091,
"optime" : Timestamp(1461935462, 1),
"optimeDate" : ISODate("2016-04-29T13:11:02Z"),
"electionTime" : Timestamp(1461934754, 1),
"electionDate" : ISODate("2016-04-29T12:59:14Z"),
"configVersion" : 459192,
"self" : true
},
{
"_id" : 1,
"name" : "repset1.com:27017",
"health" : 1,
"state" : 0,
"stateStr" : "STARTUP",
"uptime" : 92,
"optime" : Timestamp(0, 0),
"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
"lastHeartbeat" : ISODate("2016-04-30T08:10:44.485Z"),
"lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
"pingMs" : 0,
"configVersion" : -2
},
{
"_id" : 2,
"name" : "repset2.com:27017",
"health" : 1,
"state" : 0,
"stateStr" : "STARTUP",
"uptime" : 68382,
"lastHeartbeat" : ISODate("2016-04-30T08:10:43.974Z"),
"lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
"pingMs" : 0,
"configVersion" : -2
}
],
"ok" : 1
}
Run Code Online (Sandbox Code Playgroud)
小智 7
我的问题通过设置主要 IP 地址而不是主机名来解决
cfg = rs.conf()
cfg.members[0].host = "public-or-private-primary-ip:27017"
rs.reconfig(cfg)
Run Code Online (Sandbox Code Playgroud)
在辅助状态更改为 STARTUP2 之后
从主要检查您是否能够连接到次要
mongo --host repset1.com --port 27017
Run Code Online (Sandbox Code Playgroud)
当上述失败时,可能是防火墙或 BindIP 问题。
检查 bind_ip(应该是 0.0.0.0,在 mongodb.conf 中更改为 127.0.0.1):
netstat -plunt | grep :27017 | grep LISTEN
Run Code Online (Sandbox Code Playgroud)
查看辅助节点的日志文件,为什么它们被卡住了。他们收到配置详细信息了吗?
尝试重新配置,参见mongo replicaset reconfigure
| 归档时间: |
|
| 查看次数: |
8206 次 |
| 最近记录: |