2017-02-10 29 views
0

我想在我的本地機器上安裝MongoDB 3.2,運行Ubuntu 16.10。如何在不訪問Ubuntu 16.10中的Mongo shell的情況下設置featureCompatibilityVersion?

在安裝過程中,沒有錯誤;然後,當我運行mongod,我得到以下錯誤:

Cannot start mongod when the featureCompatibilityVersion is higher than 3.2. See http://dochub.mongodb.org/core/3.4-feature-compatibility.

Fatal Assertion 40352

然而,當我去到MongoDB的文檔中的鏈接,唯一的方式,展示了設置的功能兼容性通過mongo殼。但我甚至無法訪問它,正如我前面提到的,並顯示在下面的終端輸出中。

我以前安裝過MongoDB 3.4,但我需要3.2,因爲這是與mLab兼容的最新版本,我將在轉移到生產時使用它。

所以首先我試着降級它,而且我遇到了同樣的問題。然後,我嘗試徹底卸載3.4(按照其卸載說明)並安裝3.2。然後我得到了同樣的錯誤。

以下是完整的終端輸出:

2017-02-10T09:42:10.134+0530 I CONTROL [initandlisten] MongoDB starting : pid=3465 port=27017 dbpath=/data/db 64-bit host=fluidlan 
2017-02-10T09:42:10.134+0530 I CONTROL [initandlisten] db version v3.2.12 
2017-02-10T09:42:10.134+0530 I CONTROL [initandlisten] git version: ef3e1bc78e997f0d9f22f45aeb1d8e3b6ac14a14 
2017-02-10T09:42:10.134+0530 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016 
2017-02-10T09:42:10.134+0530 I CONTROL [initandlisten] allocator: tcmalloc 
2017-02-10T09:42:10.134+0530 I CONTROL [initandlisten] modules: none 
2017-02-10T09:42:10.134+0530 I CONTROL [initandlisten] build environment: 
2017-02-10T09:42:10.134+0530 I CONTROL [initandlisten]  distmod: ubuntu1604 
2017-02-10T09:42:10.134+0530 I CONTROL [initandlisten]  distarch: x86_64 
2017-02-10T09:42:10.134+0530 I CONTROL [initandlisten]  target_arch: x86_64 
2017-02-10T09:42:10.134+0530 I CONTROL [initandlisten] options: {} 
2017-02-10T09:42:10.160+0530 I -  [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'. 
2017-02-10T09:42:10.160+0530 W -  [initandlisten] Detected unclean shutdown - /data/db/mongod.lock is not empty. 
2017-02-10T09:42:10.160+0530 W STORAGE [initandlisten] Recovering data from the last clean checkpoint. 
2017-02-10T09:42:10.160+0530 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=3G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0), 
2017-02-10T09:42:10.955+0530 I CONTROL [initandlisten] 
2017-02-10T09:42:10.955+0530 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 
2017-02-10T09:42:10.955+0530 I CONTROL [initandlisten] **  We suggest setting it to 'never' 
2017-02-10T09:42:10.955+0530 I CONTROL [initandlisten] 
2017-02-10T09:42:10.958+0530 F INDEX [initandlisten] Cannot start mongod when the featureCompatibilityVersion is higher than 3.2. See http://dochub.mongodb.org/core/3.4-feature-compatibility. 
2017-02-10T09:42:10.958+0530 I -  [initandlisten] Fatal Assertion 40352 
2017-02-10T09:42:10.959+0530 I -  [initandlisten] 

***aborting after fassert() failure 

或許還有文件我沒有完全在卸載過程中刪除?我做了以下卸載(按他們的安裝指南):

sudo apt-get purge mongodb-org*

sudo rm -r /var/log/mongodb

sudo rm -r /var/lib/mongodb

但也許這並沒有完全清除一切嗎?

在任何情況下,如何在不訪問mongo外殼的情況下設置功能兼容性?

謝謝。

P.S.我一直在關注Ubuntu 16.04的說明,因爲現在還沒有。這可能是問題的根源嗎?

回答

2

您正試圖從/var/lib/mongodb中刪除文件,但根據您的日誌文件,數據文件位於/data/db

嘗試從/data/db/刪除文件來解決這個問題:所以刪去來回後 sudo rm -rf /data/db*

+0

'/數據/ DB /'並重新安裝,我現在收到有關權限的錯誤:在initAndListen'例外:98無法創建/打開鎖定文件:/data/db/mongod.lock errno:13權限被拒絕是否mongod實例已在運行?終止 ' – Alacritas

+0

現在我已經更改了該目錄的權限,並且事情似乎正常工作!謝謝。 – Alacritas

相關問題