當你的MongoDB運行了一段時間, 你會發現主機的硬碟空間為什麼越變越小, 查一下是不是你的MongoDB log作祟.
預設你的MongoDB log會存在同一個記錄檔裡面, 如果你不管理它, 它有可能長成像史前巨獸.
你可以使用logrotate來處理, 但本文不討論這個主題, 我們要用土法煉鋼來達成同樣目的.
閱讀 document, mongo有提到送出一個 kill -SIGUSR1 <mongod process id>, 就能達成log rotate.
痞客興 發表在 痞客邦 留言(0) 人氣(390)

MongoDB 的 primary是透過 replset成員間選舉產生,但我們可以透過 priority的設定來影響選舉(很邪惡吧)
以下就來介紹怎麼買票(呵~~說錯了,是怎麼設定priority)
首先你要先登入MongoDB primary server,並下指令rs.conf()來確定member的編號
痞客興 發表在 痞客邦 留言(0) 人氣(211)
MongoDB 的備份及還原分為線上及離線,本文將介紹線上備份如下
離線方法請參考 http://charleslin74.pixnet.net/blog/post/396875521
線上備份還原方法(mongo啟動中)
痞客興 發表在 痞客邦 留言(0) 人氣(453)
MongoDB 的備份及還原分為線上及離線,本文將介紹離線備份如下
線上方法請參考 http://charleslin74.pixnet.net/blog/post/396878375
離線方法(mongo服務沒有啟動)
痞客興 發表在 痞客邦 留言(0) 人氣(336)
今天遇到了新的問題
> rs.status()
{
"startupStatus" : 1,
"ok" : 0,
"errmsg" : "loading local.system.replset config (LOADINGCONFIG)"
}
看字面意思好像是無法讀到關於replset的設定,所以造成mongodb起不來,我的APP會出現 not master的報錯。
有照這篇文章進行除錯 http://ufasoli.blogspot.tw/2013/05/reconfiguring-mongodb-replicaset-after.html
但照做後 rs.conf()仍然沒有任何變化.
最後偶然間找到了問題,我的/etc/hosts中對於本機的IP記錄與本機的實際IP並不相同
所以mongodb replset啟動時會讀取並確認本機狀態,將IP修正後就恢復正常了.
痞客興 發表在 痞客邦 留言(0) 人氣(157)
MongoDB主機數量應為奇數(primary+secondary)
因為primary主機故障失聯時,主機群會進行選舉決定出那一個secondary出線替代成為primary
若主機數為偶數會有問題,可能產生無primary的情形
為解決此一問題,mongodb有另一個主機角色 arbiter,設定方法如下
痞客興 發表在 痞客邦 留言(0) 人氣(253)
此次測試對象主機為三台,分別是 mongodb-test1 mongodb-test2 mongodb-test3
當然進行設定前要把mongodb裝好,安裝請參考 http://charleslin74.pixnet.net/blog/post/388879655
首先我們將 mongodb-test1做為primary的主機,對它進行設定
痞客興 發表在 痞客邦 留言(0) 人氣(288)