Запускайте rc.local только после запуска Mongodb в CentOs 7
У меня есть следующий скрипт в моем rc.local
:
Это запускает сервисы на портах 8080, 8081, 8082, 8083. Они на самом деле являются серверами узлов, которые НЕОБХОДИМЫ для запуска.
Итак, я отредактировал /lib/systemd/system/rc-local.service
и добавил:
After=network.target syslog.target mongod.service
Но нет: сценарии по-прежнему не работают, потому что во время выполнения они обнаруживают, что сервер базы данных не работает.
Что я могу делать не так? Как бы я отладить это?
ОБНОВЛЕНИЕ: Теперь, когда я добавил After=
ошибка не в соединении mongoDb (я смотрел старые журналы), а в том, что rc-local, похоже, не запускается вообще. Работает вручную systemctl restart rc-local.service
работает хоть...
ОБНОВЛЕНИЕ 2: принимая syslog.target
и так, имея:
After=network.target mongod.service
имеет странный побочный эффект: нормально работает HALF серверов (2 из 4), а другие HALF не могут подключиться к базе данных. Это заставляет меня думать, что systemd запускает mongodb, но он еще не готов принимать соединения, когда запущен rc-local
1 ответ
В качестве обходного пути, почему бы вам не настроить mongodb не запускать systemctl и не запускать его в rclocal до нужных вам элементов?