2013-09-30 37 views
0

我有副本的習題集MongoDB的replicaset權威性不工作

後,我加入到mongodb.conf我可以連接密鑰文件的路徑,這是我的mongo.conf:

logpath=/path/to/log 

logappend=true 

replSet = rsname 

fork = true 

keyFile = /path/to/key 

這是什麼顯示在命令行:

[email protected]:/etc$ sudo service mongodb restart 
stop: Unknown instance: 
mongodb start/running, process 10540 
[email protected]:/etc$ mongo 
MongoDB shell version: 2.4.6 
connecting to: test 
Mon Sep 30 18:44:20.984 Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:145 
exception: connect failed 
[email protected]:/etc$ 

如果我註釋mongo.conf中的keyFile行,它工作正常。

回答

1

如果認證將是你應該得到一個不同的消息的問題(應該可以啓動shell沒有認證會話只是防止你運行大多數的命令)。

這一個手段更像一個套接字異常,你可能連接沒有服務的聆聽。如果進程正在偵聽消息中的ip:port,您可以使用netstat進行檢查。我假設mongod進程沒有啓動,可能有幾個原因檢查當前日誌。有一件事可能是密鑰文件不存在於指定路徑或沒有設置適當的權限。

添加密鑰文件全自動開啓AUTH選項了。這意味着你必須使用一個用戶進行身份驗證,但可以繞過與本地主機外,這個認證。閱讀documentation

4

我解決這個問題。

它與密鑰文件的權限有關,我固定permissionas和所有權和像魅力的工作:

以根用戶身份我做:

$ chmod 700 keyfile 
$ chown monogdb:mongodb keyfile 
+0

請問你爲什麼不接受我的回答並評論說,錯誤的權限是我提到的問題? – attish

+0

我覺得這是你的答案之前,...但如果你想的地步,你有,謝謝。 – leojg