Я развертываю mongo с помощью Amazon OpsWorks, как описано в Настройка набора реплик MongoDB с помощью AWS OpsWorks и экземпляр не запускается, когда я указываю смонтированный том ebs (/ data / ebs) в dbpath.
Вот пользовательский 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
или аналогичный.