天天看點

通過Yum更新MongoDB 2.6 to 3.0

通過Yum更新MongoDB 2.6 to 3.0

     由于之前使用的是yum安裝的MongoDB 2.6(根據官網提示,如果你準備從2.4更新起來,需要先行更新至2.6版本,再進行3.0的更新),為了使用MongoDB多個新特性,如WiredTiger引擎,中文檢索等,而根據MongoDB版本劃分可知,雙數為穩定版本,是以決定更新至最新的MongoDb 3.2(筆者寫這篇文時MongoDB 3.3為最新版本)。

     其實根據官網所給文檔就能正常更新了,本文也是參考官網文檔做更新,如果你準備參考本文進行操作,希望能在測試環境下測試沒問題再上線以免出現問題。

     更新開始:

退出MongoDB 2.6服務

<code>service mongod stop</code>

關于退出的方法有很多種,比如使用netstat -nltp找到程序号,使用然後殺死程序(不建議使用-9直接強退);

又比如進入Mongo用戶端,使用db.shutdownServer()關閉;

亦或者使用官網推薦方法等等,這裡就不一一列出來,請自行選擇使用。

<code>mongod --dbpath </code><code>/var/mongod/data</code> <code>--</code><code>shutdown</code>

2.新增yum源

<code>vim </code><code>/etc/yum</code><code>.repos.d</code><code>/mongodb-org-3</code><code>.0.repo</code>

編輯内容:

<code>[mongodb-org-3.0]</code>

<code>name=MongoDB Repository</code>

<code>baseurl=https:</code><code>//repo</code><code>.mongodb.org</code><code>/yum/redhat/</code><code>$releasever</code><code>/mongodb-org/3</code><code>.0</code><code>/x86_64/</code>

<code>gpgcheck=1</code>

<code>enabled=1</code>

<code>gpgkey=https:</code><code>//www</code><code>.mongodb.org</code><code>/static/pgp/server-3</code><code>.0.asc</code>

3.Yum更新開始

檢視下yum資訊

<code>yum info mongodb-org</code>

<a href="http://s3.51cto.com/wyfs02/M00/83/5B/wKioL1dxH2-jIAa7AADsaQTe-SA354.png-wh_500x0-wm_3-wmp_4-s_70486962.png" target="_blank"></a>

開始更新,等待更新完成

<code>yum upgrade mongodb-org</code>

4.嘗試啟動服務

<code>service mongod start</code>

發現啟動失敗?不要着急,讓我們檢視日志(本日志路徑為預設路徑,日志路徑可以使用配置檔案修改)

<code>tail</code> <code>-f </code><code>/var/log/mongodb/mongod</code><code>.log</code>

<code>2016-06-27T02:53:32.961-0700 E NETWORK  [initandlisten] Failed to unlink socket </code><code>file</code> <code>/tmp/mongodb-27017</code><code>.sock errno:1 Operation not permitted</code>

<code>2016-06-27T02:53:32.961-0700 I -        [initandlisten] Fatal Assertion 28578</code>

<code>2016-06-27T02:53:32.961-0700 I -        [initandlisten]</code>

<code>***aborting after fassert() failure</code>

<a href="http://s3.51cto.com/wyfs02/M00/83/5C/wKiom1dxH2_RDkK2AAA-3FFGpR0947.png-wh_500x0-wm_3-wmp_4-s_1997126223.png" target="_blank"></a>

根據日志提示,是無法unlink sock檔案,需要我們手動删除sock檔案,删除後運作即可。

最後,更新3.0到3.2的方法重複之前步驟即可,把MongDB的YUM源修改成3.2即可完成更新。

注:根據官網提示,3.2預設開啟WiredTiger引擎

本文轉自 leyex 51CTO部落格,原文連結:http://blog.51cto.com/leyex/1793436

繼續閱讀