有些事情,只有當長時間壓力測試的時候,才能暴露出來。MongoDB叢集用了幾個月了,但是當寫了一個長時間啟動並執行壓力測試程式後,幾天時間, primary server不能啟動。查看MongoDB日誌發現錯誤資訊:
Fri Nov 29 10:49:13.182 [initandlisten] ERROR: Insufficient free space for journal files
Fri Nov 29 10:49:13.182 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
原來預設安裝的MongoDB使用率/var磁碟分割作為資料儲存的分區,而預設Ubuntu下這個分區並不大。所以安裝MongoDB叢集時要考慮選擇合適大小的分區存放檔案和日誌,比如這裡建立一個分類樹, /mongodb/data下存放資料,/mongodb/log下存放日誌。
root@vm1:/# tree /mongodb/ -L 1
/mongodb/
├── data
└── log
然後將檔案移動到對應的目錄下,並修改/etc/mongodb.conf檔案裡面的配置:
dbpath=/mongodb/data/mongodb
logpath=/mongodb/log/mongodb.log
啟動服務,正常了。同理修改其他的mongodb server.
MongoDB 的詳細介紹:請點這裡
MongoDB 的:請點這裡
MongoDB備份與恢複
CentOS編譯安裝MongoDB
CentOS 編譯安裝 MongoDB與mongoDB的php擴充
CentOS 6 使用 yum 安裝MongoDB及伺服器端配置
Ubuntu 13.04下安裝MongoDB2.4.3
如何在MongoDB中建立新資料庫和集合
MongoDB入門必讀(概念與實戰並重)
《MongoDB 權威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]