我收集了數百萬個對象,只有一臺服務器。我設置了一個配置服務器和2個分片節點,其中之一是具有該集合文檔的節點。 我添加集合成碎片後,一切看起來都很好。然而,有些奇怪的事情正在發生,當mongod正在分解該集合時,如果我不斷詢問集合的大小:db.activity_items.count()
數字正在減少。爲什麼?我在哪裏丟失任何數據?當我分解我的現有集合時,我會丟失數據嗎?
這是一些控制檯輸出,只是爲了說明問題:
mongos> db.activity_items.count()
19107620
mongos> db.activity_items.count()
19107223
mongos> db.activity_items.count()
19106939
mongos> db.activity_items.count()
19106922
mongos> db.activity_items.count()
19027118
編輯
,如果我跑db.activity_items.stats();
http://pastebin.com/85RqZmQM。它表明第一個分片節點正在減少計數器,第二個分片節點沒有增加其計數器。這讓我覺得我的數據陷入了僵局。
EDIT 2
我停下平衡器。它停下來丟失數據,但是我的老數據didnt回來..
mongos> db.activity_items.count()
15736936
編輯3
我填寫一個關於它的錯誤:https://jira.mongodb.org/browse/SERVER-6696
檢查出我的編輯。 – 2012-08-01 23:16:12
增加了幾個步驟,讓你找出這是否是由於正在進行的平衡 – 2012-08-01 23:37:24
好。我剛剛停止了這個平衡,它仍然在下降,因爲我猜測飛行中的遷移仍在進行。我如何檢查在線遷移狀態? – 2012-08-01 23:48:37