![](/img/trans.png)
[英]ERROR: Cannot write pid file to /var/run/mongodb/mongod.pid: No such file or directory inf fedora 20
[英]Kolla-Ansible Deployment fails - /var/run/mongodb is not a directory
我正在嘗試使用 Kolla-Ansible 8.0.1 部署 OpenStack“Stein”,並在mongodb角色中始終以相同的故障運行:
角色總是在同一個任務中失敗:
RUNNING HANDLER [mongodb : Waiting for the mongodb startup] **********************************************
fatal: [controller2]: FAILED! => {"changed": false, "elapsed": 300, "msg": "Timeout when waiting for 192.168.11.12:27017"}
fatal: [controller1]: FAILED! => {"changed": false, "elapsed": 300, "msg": "Timeout when waiting for 192.168.11.11:27017"}
fatal: [controller3]: FAILED! => {"changed": false, "elapsed": 300, "msg": "Timeout when waiting for 192.168.11.13:27017"}
我在應該運行它們的主機上檢查了 mongodb 容器的日志。 他們在日志中顯示所有相同的錯誤:
+ exec /usr/bin/mongod --unixSocketPrefix=/var/run/mongodb --config /etc/mongodb.conf run
/var/run/mongodb must be a directory
我是否錯過了部署步驟中的重要內容?
(免責聲明:我從未玩過 kolla、openstack 或 mongodb...)
--unixSocketPrefix <path>
Default: /tmp
The path for the UNIX socket. --unixSocketPrefix applies only to Unix-based systems.
If this option has no value, the mongod process creates a socket with /tmp as a prefix.
現在,您的錯誤消息:
/var/run/mongodb 必須是目錄
看起來實際路徑是在模板中硬編碼的
因此,您唯一的選擇是在啟動 mongodb 之前確保容器中存在該目錄(具有正確的權限),以便它可以在那里寫入其套接字。
我現在沒有時間進一步研究,但據我所知,您似乎可以定義要使用的圖像標簽。 該問題可能源於在構建時未設置此目錄的舊映像。 值得檢查...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.