systemd - define um serviço sem ExecStop e pode pará-lo sem “falhar”

0

Estou com o CentOS 7 e quero iniciar o produtor independente do Kafka (File Connector) como um serviço. O comando é:

/opt/kafka/bin/connect-standalone.sh /opt/kafka/config/connect-standalone.properties /opt/kafka/config/connect-file-source.properties

E, obviamente, não tem comando de parada. Normalmente, eu apenas Ctrl + C para pará-lo como um processo em primeiro plano.

Mas quando eu testo, achei muito entediante abrir várias sessões do terminal para rodar vários processos (zookeeper, servidor Kafka, produtor de Kafka, Storm jar, etc.) então mudo o Zookeeper e o servidor Kafka como serviço, que tem seus stop script. Mas neste caso, não.

Eu tentei systemctl start kafka-producer e systemctl stop kafka-producer , mas o serviço entrou em failed status e não está parado. Eu tive que excluir o serviço, recarregar o daemon e mudar para manual novamente.

kafka-producer.service :

[Unit]
Description=Kafka Producer
After=network.target

[Service]
Type=simple
ExecStart=/opt/kafka/bin/connect-standalone.sh /opt/kafka/config/connect-standalone.properties /opt/kafka/config/connect-file-source.properties
Restart=on-abort

[Install]
WantedBy=default.target

De qualquer forma, para manipular um serviço sem o comando ExecStop ?

    
por WesternGun 23.02.2018 / 09:11

1 resposta

0

Tendo o HDP 2.6.4 com o Kafka 0.10.1 instalado, o script relatou

/usr/hdp/2.6.4.0-91/kafka/bin$ ./connect-standalone.sh
USAGE: ./connect-standalone.sh [-daemon] connect-standalone.properties

uma propriedade para ser executada como daemon usando a opção -daemon .

Isso seria algo viável para você?

    
por 02.03.2018 / 13:12