Mongo Secondary Sync陷入恢复状态

时间:2015-09-01 08:38:56

标签: linux mongodb

我有一个主节点和两个辅助节点。由于一个辅助节点存在一些问题,几天前就停止了。现在我正在尝试重新同步辅助节点,但一段时间后它进入恢复状态并停留在那里。

对于同步我删除了数据目录并重新启动了mongod服务。

数据库大小 - 1.1 TB

    sms3:PRIMARY> rs.status()
{
	"set" : "sms3",
	"date" : ISODate("2015-09-01T08:33:40Z"),
	"myState" : 1,
	"members" : [
		{
			"_id" : 9,
			"name" : "abc:27117",
			"health" : 1,
			"state" : 1,
			"stateStr" : "PRIMARY",
			"uptime" : 9415375,
			"optime" : Timestamp(1441096420, 7),
			"optimeDate" : ISODate("2015-09-01T08:33:40Z"),
			"self" : true
		},
		{
			"_id" : 10,
			"name" : "def:27117",
			"health" : 1,
			"state" : 2,
			"stateStr" : "SECONDARY",
			"uptime" : 9411728,
			"optime" : Timestamp(1441096418, 159),
			"optimeDate" : ISODate("2015-09-01T08:33:38Z"),
			"lastHeartbeat" : ISODate("2015-09-01T08:33:38Z"),
			"lastHeartbeatRecv" : ISODate("2015-09-01T08:33:39Z"),
			"pingMs" : 0,
			"syncingTo" : "db330.oak1.omniture.com:27117"
		},
		{
			"_id" : 11,
			"name" : "ghi:27117",
			"health" : 1,
			"state" : 3,
			"stateStr" : "RECOVERING",
			"uptime" : 53615,
			"optime" : Timestamp(1441042830, 300),
			"optimeDate" : ISODate("2015-08-31T17:40:30Z"),
			"lastHeartbeat" : ISODate("2015-09-01T08:33:39Z"),
			"lastHeartbeatRecv" : ISODate("2015-09-01T08:33:39Z"),
			"pingMs" : 0,
			"syncingTo" : "db330.oak1.omniture.com:27117"
		}
	],
	"ok" : 1
}

    sms3:PRIMARY> rs.config()
{
	"_id" : "sms3",
	"version" : 87615,
	"members" : [
		{
			"_id" : 9,
			"host" : "abc:27117"
		},
		{
			"_id" : 10,
			"host" : "def:27117",
			"priority" : 0.5
		},
		{
			"_id" : 11,
			"host" : "ghi:27117",
			"priority" : 0.5
		}
	]
}

2 个答案:

答案 0 :(得分:1)

据我所知,您的上限集合已经不同步了。因此,您需要清除辅助中的所有内容,然后重新启动同步。

答案 1 :(得分:0)

我找到了解决方案。我同步了从另一个已启动的辅助节点关闭的辅助节点上的数据目录,然后重新启动了mongo。