我有一個MongoDB分片設置與3個碎片:shard0000,shard0001和shard0002。運行shard0002的計算機現在已關閉,這會導致我的所有查詢都失敗。我想暫時從我的設置中刪除shard0002,並繼續使用前兩個分片。這應該是可行的,假設我只使用駐留在前兩個分片中的非分片集合,對吧?刪除無法訪問的蒙戈碎片
我第一次嘗試的是:db.runCommand({removeshard: 'IP:PORT'})
這顯然沒有幫助,因爲它只是將分片放入排水模式,這將永遠不會結束(因爲它已關閉)。然後我嘗試連接到我的配置服務器並在配置數據庫上執行db.shards.remove({_id: 'shard0002'})
,然後重新啓動mongos,以便重新加載配置。現在,只要我嘗試做任何事情,我都會「找不到shard0002的碎片」。
有沒有什麼辦法可以讓Mongo知道我現在不關心這個碎片,然後在它變得可用時重新啓用它。
你說的所有查詢失敗?這是否包括可以與僅存在的單個碎片一起工作的查詢? – Thilo 2010-10-05 06:26:38