2016-06-17 4 views
2

私はsystemdによってkafka brokerを管理しようとしています。私は、コマンドsystemctl --user start [email protected]systemctl --user start [email protected]でカフカを開始することができ、そのファイルとsystemdでkafkaブローカーを管理する方法は?

[Unit] 
Description=Kafka with broker id (%i) 
After=network.target 
After=zk.service 

[Service] 
Type=simple 

SyslogIdentifier=kafka (%i) 
WorkingDirectory=/opt/service/kafka_2.11-0.9.0.1 
LimitNOFILE=16384:163840 

ExecStart=/usr/bin/bash -c 'bin/kafka-server-start.sh /opt/service/units/kafka/%i.properties' 
ExecStop=/usr/bin/bash -c 'bin/kafka-server-stop.sh /opt/service/units/kafka/%i.properties' 

[Install] 
WantedBy=multi-user.target 

:ここでは単位ファイルです。

しかし、これらのデーモンをsystemctl --user stop [email protected]で終了しようとすると、2つのデーモンはすべて停止します!だから、なぜ私は唯一のブローカーを殺すことができませんでしたか?

+0

も参照https://gist.github.com/kwilczynski/6c6645dfdc8de4cd9ed1(未テスト) –

答えて

5

このような何か:

[Unit] 
Description=Kafka with broker id (%i) 
After=network.target 
After=zk.service 

[Service] 
Type=forking 

SyslogIdentifier=kafka (%i) 
Restart=on-failure 
LimitNOFILE=16384:163840 

ExecStart=/opt/service/kafka_2.11-0.9.0.1/bin/kafka-server-start.sh -daemon /opt/service/units/kafka/%i.properties 

[Install] 
WantedBy=multi-user.target 
関連する問題