2013-09-29 32 views
0

我在mongodb中分割一個大型數據庫。由於集合中的文檔數量超過100,000,000,所以分片需要很長時間,對吧?我現在正在爲這個數據庫執行分片操作,而命令行正處於等待狀態。如何檢查分片操作是否正常處理?mongodb數據庫在分片時是否可用?

+0

當你的意思是「分片」時,你是否真正的意思是「平衡」,因爲在多個分片中分配文檔? –

+2

從哪裏填充數據?你不能在設置分片數據庫服務器之後做到這一點嗎? –

+2

來自Amol的好問題我發現mongodb在我爲已經填充數據的數據庫設置分片後會陷入很長的等待時間。但是在我清理完數據庫之後,設置分片並重新填充數據,mongoDB工作的很好。我現在可以清楚地看到分片狀態。謝謝。如果方便的話,投票給我,好嗎? – wuchang

回答

0

那麼,事實上,這是因爲我應該在將所有數據填充到數據庫之前對數據庫進行分片。不應將所有數據填充到分片配置已準備好但尚未啓用分片的數據庫。在這種情況下,我運行sh.enableSharding(「數據庫名稱」)和sh.shardCollection(),終端將陷入永久等待。但是,如果我在空的數據庫上運行sh.enableSharding(「數據庫名稱」)和sh.shardCollection(),然後向其中填充數據,則可以在插入數據時將數據分片到不同的分片中。那麼,另一塊經驗。

1

執行以下步驟(爲了此事):

  1. 設置碎片的MongoDB服務器

  2. 然後,你拿到了數據庫(集 與文件做分片操作過100,000,000左右..)

相關問題