Как запустить демон Zookeeper после загрузки под определенным пользователем на сервере Ubuntu 16.04 [дубликат]

Я хочу запустить демон Zookeeper после загрузки сервера Ubuntu 16.04 (не после регистрации) под пользователем с именем zookeeper . Поэтому я изменил файл /etc/rc.local следующим образом:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

echo 'never'; defrag_file_pathname

su -c '$ZOOKEEPER_HOME/bin/zkServer.sh start' zookeeper &

exit 0

, добавив строку su -c '$ ZOOKEEPER_HOME / bin / zkServer.sh start' zookeeper & перед выход 0 . Но после перезапуска процесс не запускается!

Что здесь не так?

подробности : Пользователь zookeeper находится в группе sudo и имеет пароль.

подробности : Когда я запускаю команду su -c '$ ZOOKEEPER_HOME / bin / zkServer.sh start' zookeeper & в терминале, для запуска требуется пароль.

1
задан 23 November 2017 в 16:05

1 ответ

Создайте файл service в /etc/systemd/system/zoo.service и добавьте следующие строки:

[Unit]
Description=Zookeeper Daemon
Wants=syslog.target

[Service]    
Type=forking
WorkingDirectory=/path/to/dir/of/interest
User=zookeeper 
ExecStart=/home/zookeeper_home/bin/zkServer.sh
TimeoutSec=30
Restart=on-failure

[Install]
WantedBy=multi-user.target

Теперь настройте службу:

sudo systemctl start zoo
sudo systemctl enable zoo

Проверьте статус:

sudo systemctl status zoo

Для получения дополнительной информации о создании демонов, пожалуйста, прочитайте:

https://www.freedesktop.org/software/systemd/man/systemd.unit.html

3
ответ дан 23 November 2017 в 16:05

Другие вопросы по тегам:

Похожие вопросы: