我目前在mongodb 2.4.8上。我在一臺由主,仲裁和仲裁器組成的機器上設置了複製。我已驗證開啓。我的問題是我無法登錄仲裁器,驗證並運行「db.logRotate();」它一直在失敗的權限。我無法弄清楚我做錯了什麼,或者如果這不能完成,我必須做一個「殺死usr1」。無法在mongodb仲裁器中驗證
0
A
回答
-1
我相信你正在尋找的命令是db.runCommand({logRotate:1})(切換到管理數據庫後運行)。 http://docs.mongodb.org/manual/tutorial/rotate-log-files/
在仲裁器上對我很好,並且可以旋轉日誌。
0
當同步用戶時,Mongo複製似乎完全忽略了仲裁者。我在我的集羣中使用keyFile身份驗證,並且它總是讓我無需任何權限即可登錄仲裁器。在本地機器上,logRotate命令起作用(因爲localhostAuthBypass)。如果我從遠程shell登錄,我沒有授權該命令。
但是,我總是做的是安排一個夜間cronjob來旋轉日誌。你可以做到這一點作爲一個班輪甚至沒有登錄到蒙戈外殼: 簡單地說,它只是:
kill -10 $(cat <pidfile>)
00 00 * * * /usr/bin/kill -10 /mongo/mongo.pid >>/mongo/logrotation.log 2>&1
「-10」是指SIGUSR1,它告訴蒙戈旋轉日誌。 確保您使用的是processManagement.pidFilePath(2.6)或--pidfilepath(2.4)選項,並且該命令中列出了相同的pidfilepath。
或者,如果你有一臺服務器上運行多個mongos:
for file in /<mongo_pidfile_directory>/*.pid ; do kill -10 $(cat $file) ; done
+0
目前我們在生產中的複製套件中沒有仲裁器。你的解決方法是很好的知道,因爲在開發中,我們有仲裁者,我不能在仲裁者中做任何事情,因爲它不允許我進行身份驗證。非常沮喪。 –
相關問題
- 1. 遷移MongoDB仲裁器
- 2. MongoDB仲裁者AWS EC2
- 3. CAN總線仲裁方法
- 4. 清潔劑仲裁計算器在PHP
- 5. 爲什麼仲裁者需要在主 - 次仲裁者MongoDB副本集中進行選舉?
- 6. 應該將MongoDB仲裁器包含在客戶端連接配置中嗎?
- 7. MongoDB是否與仲裁者進行交互
- 8. MongoDB的分片,仲裁者和羣集設置,
- 9. MongoDB conf缺席仲裁者選舉主持人選舉
- 10. wso2esb中的事務仲裁4.8.0
- 11. 如何在MongoDB中提供驗證器?
- 12. Chisel3:固定優先級仲裁器中的虛擬組合環
- 13. CAN總線上的總線仲裁
- 14. Mac OS X沙箱和磁盤仲裁
- 15. 套接字如何處理仲裁?
- 16. 無法使用Java在MongoDB中驗證用戶名和密碼
- 17. 在mongodb python中驗證
- 18. Backbone中的驗證無法驗證?
- 19. reCaptcha無法在服務器端驗證
- 20. 試圖在Verilog中創建一個循環仲裁者
- 21. MongoDB中的驗證器不起作用
- 22. 無法驗證
- 23. 副本集體系結構 - 仲裁器要求
- 24. .net仲裁運行時類實例和方法調用
- 25. iOS ssl證書驗證 - 無法驗證服務器身份
- 26. 無法使用Django/mongoengine連接到MongoDB中(驗證失敗)
- 27. 泊塢窗 - 撰寫 - MongoDB中無法被驗證
- 28. Spring驗證器:無法自動裝配。 「驗證」類型的無豆中
- 29. 在後面的代碼中,我如何使驗證器無法驗證?
- 30. 無法在MongoDB中
我跑由jpsf建議的命令,我也得到了以下內容:>使用adminuse管理 切換到數據庫管理員 > db.runCommand({ logRotate:1}); db.runCommand({logRotate:1}); {「ok」:0,「errmsg」:「未授權」} –
「未授權」錯誤表示您正在使用身份驗證,並且未以具有適當權限的用戶身份登錄,無法在管理數據庫上執行任務。在2.4以下,logRotate命令需要「clusterAdmin」特權。 – daveh
我可以在主服務器或輔助服務器上成功輪轉日誌。我無法得到這個命令在仲裁器上工作。我也無法對仲裁者進行身份驗證。我使用的用戶標識具有「clusterAdmin」特權。 –