0
我使用的是MongoDB 2.4,當我第一次啓動mongo時,我在一臺服務器上獲得了9GB日誌文件,而在第二臺服務器上,我只獲得0.5GB日記文件。 在第一臺服務器上,MongoDB需要5分鐘才能加載!而第二個則需要幾秒鐘。 這兩個實例都沒有數據並且第一次運行。 每臺服務器獨立工作,兩者不相關。 每臺服務器都有它自己的碎片(所有碎片 - 其中3個碎片都在同一臺服務器中)。Mongodb日誌記錄 - 文件非常大
每個服務器,這意味着我有:
/usr/mongodb/bin/mongod --configsvr --dbpath /data/svr1 --port 27019
/usr/mongodb/bin/mongod --configsvr --dbpath /data/svr2 --port 27020
/usr/mongodb/bin/mongod --configsvr --dbpath /data/svr3 --port 27021
/usr/mongodb/bin/mongod --dbpath /data/db1 --port 27010
/usr/mongodb/bin/mongod --dbpath /data/db2 --port 27011
/usr/mongodb/bin/mongod --dbpath /data/db3 --port 27012
/usr/mongodb/bin/mongos --configdb localhost:27019,localhost:27020,localhost:27021
,並創建碎片腳本:
sh.addShard("localhost:27010");
sh.addShard("localhost:27011");
sh.addShard("localhost:27012");
sh.enableSharding("somescheme");
我不知道爲什麼我得到一個9GB文件日記一日一和0.5 GB上的第二個? 第一個有更大的硬盤,而不是SSD,第二個是SSD和更小的。 有什麼想法? 謝謝!
你在第二臺主機上運行smallfiles標誌(無論是命令行還是在.cfg中)?啓用後,這將減少分配給日誌和數據文件的大小。另外需要注意的是,如果你的mongod實例決定它會更有效率,那麼MongoDB將只預先分配日誌文件。有關詳細信息,請參閱以下內容:http://docs.mongodb.org/manual/core/journaling/#journal-files –
nope,不在兩個小文件上運行。我讀過,當每個節點上有大量數據時,建議不要使用小文件來運行,只有在每個節點上有很多數據量較小的節點時纔會運行。 – user1986447
這是正確的,我在生產小文件中看到的唯一情況是當你運行大量的小型數據庫時。你可以在兩個日誌目錄上提供ls -l嗎?看到文件的大小和#會很有趣。 –