我正在尝试设置MongoDB测试副本集。问题是我找不到任何方法来获取错误消息,并且其中一个节点永久保留在DOWN
或UNKNOWN
状态。无法获取节点连接到副本集
这里是从主
{
"set" : "rs0",
"date" : ISODate("2014-05-08T00:41:11Z"),
"myState" : 1,
"members" : [
{
"_id" : 0,
"name" : "mongo1:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 3319,
"optime" : Timestamp(1399509356, 1),
"optimeDate" : ISODate("2014-05-08T00:35:56Z"),
"electionTime" : Timestamp(1399506359, 1),
"electionDate" : ISODate("2014-05-07T23:45:59Z"),
"self" : true
},
{
"_id" : 2,
"name" : "mongo3:30000",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 319,
"lastHeartbeat" : ISODate("2014-05-08T00:41:11Z"),
"lastHeartbeatRecv" : ISODate("2014-05-08T00:41:11Z"),
"pingMs" : 2,
"syncingTo" : "mongo1:27017"
},
{
"_id" : 3,
"name" : "mongo2:27018",
"health" : 1,
"state" : 6,
"stateStr" : "UNKNOWN",
"uptime" : 315,
"optime" : Timestamp(0, 0),
"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
"lastHeartbeat" : ISODate("2014-05-08T00:41:11Z"),
"lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
"pingMs" : 2,
"lastHeartbeatMessage" : "still initializing"
}
],
"ok" : 1
}
我rs.status下面是从初级
{
"_id" : "rs0",
"version" : 12,
"members" : [
{
"_id" : 0,
"host" : "mongo1:27017"
},
{
"_id" : 2,
"host" : "mongo3:30000",
"arbiterOnly" : true
},
{
"_id" : 3,
"host" : "mongo2:27018"
}
]
}
的问题rs.conf是mongo2:27018。我试过添加和删除它。我尝试擦拭整个盒子并重新安装Cent + Mongo。从3箱中的任何一箱,我可以mongo
到其他2.所以从mongo1:27017我可以输入mongo mongo2:27018
,它没有问题。所有3个盒子都具有相同的配置,我在/etc/hosts
中对其进行了双倍,三倍和四倍检查。
唯一的调试信息,我能找到的任何地方是有问题的节点上运行以下块:
2014-05-08T02:45:51.763+0200 [initandlisten] connection accepted from 10.0.2.2:48720 #50 (2 connections now open)
2014-05-08T02:46:00.593+0200 [rsStart] trying to contact mongo1:27017
2014-05-08T02:46:00.602+0200 [rsStart] trying to contact mongo3:30000
2014-05-08T02:46:00.605+0200 [rsStart] replSet info Couldn't load config yet. Sleeping 20sec and will try again.
任何指导表示赞赏,被在此苦苦挣扎5小时。
你确定你配置正确的mongod?我的意思是replSet/keyFile(可选)/ auth? – yaoxing