Mongodb

Amazon OpsWorks - 無法在 mongo dbpath 中引用 ebs 卷

  • May 25, 2014

我正在使用 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或類似的。

引用自:https://serverfault.com/questions/598342