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

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 之外,我还需要运行其他方法吗?

答案1

这里有一些基本的事情:

首先,您的 /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或类似的。

相关内容