Como iniciar um daemon do Zookeeper após inicializar sob um usuário específico no servidor Ubuntu 16.04 [duplicado]

0

Eu quero iniciar o daemon do Zookeeper após a inicialização do servidor Ubuntu 16.04 (não depois do registro) sob o usuário zookeeper . Então eu mudei o arquivo /etc/rc.local da seguinte forma:

#!/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

, adicionando a linha su -c '$ZOOKEEPER_HOME/bin/zkServer.sh start' zookeeper & antes de exit 0 . Mas o processo não é iniciado após o reinício!

O que há de errado aqui?

detalhes : o usuário do zookeeper está no grupo sudo e tem senha.

detalhes : Quando executo o comando su -c '$ZOOKEEPER_HOME/bin/zkServer.sh start' zookeeper & no terminal, ele precisa de senha para ser executado.

    
por Soheil Pourbafrani 23.11.2017 / 13:51

1 resposta

1

Crie um arquivo. service em /etc/systemd/system/zoo.service e adicione as seguintes linhas:

[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

Agora configure o serviço:

sudo systemctl start zoo
sudo systemctl enable zoo

Verifique o status:

sudo systemctl status zoo

Por favor, leia para mais detalhes criando daemons:

link

    
por George Udosen 13.12.2017 / 13:48