Mongodb
Amazon OpsWorks - 無法在 mongo dbpath 中引用 ebs 卷
我正在使用 Amazon OpsWorks 部署 mongo,如使用 AWS OpsWorks 設置 MongoDB 副本集中所述,當我在 dbpath 中指定安裝的 ebs 卷 (/data/ebs) 時,實例無法啟動。
這是堆棧的自定義 json:
{ "mongodb" : { config: { "dbpath" : "/data/ebs/data/", "logpath" : "/data/ebs/log/", } "cluster_name" : "replicaset", "replicaset_name": "replicaset" } }
mongo 無法啟動的原因顯然是因為 /data/ebs 的所有權:
[ec2-user@mongodb1 data]$ ls -la /data/ebs drwxr-xr-x 2 root root 21 May 24 08:43 . drwxr-xr-x 3 root root 4096 May 24 04:49 ..
我如何覆蓋它?除了 mongodb::10gen_repo 和 mongodb::replicaset 之外,我還需要執行一個食譜嗎?
這裡有一些基本的東西:
首先,您的 /data/ebs 列表似乎不包括數據目錄或日誌目錄。如果它們實際上不存在,您應該創建它們:
接下來,文件夾的所有權
/data/ebs/data
不應該是root:root
. 作為服務安裝時apt
,相關使用者是mongodb
,因此通常是適當的權限mongodb:mongodb
。要更改它(也對日誌目錄重複):cd /data/ebs/data sudo chown -R mongodb:mongodb .
最後,
logpath
配置部分需要是文件的完整路徑,而不是目錄。也就是說,它應該是/data/ebs/log/mongod.log
或類似的。