2017-07-20 6 views
1

CentOS 7を搭載した5台のVMがあり、それぞれにkafkaと組み込み飼育係が稼動しています。CentOS 7 systemd KafkaがローカルZookeeperに依存するために必要な値とAfter値?

私のsystemdユニットファイルでは、zookeeper.serviceをkafka.serviceのRequires依存関係として使用しようとしましたが、動作していないようで、ドキュメントは.targetファイルのみが有効な値であるかどうかを明示的にはっきりさせません。 Requires(そしてAfter/Beforeも仮定する)、または.serviceファイル自体も許されます。

私はzookeeper.targetをRequiresに使用する必要がありますか?

また、Requiresの代わりにWantsを使用すると、カフカが正常に起動することができますが、ローカルZookeeperはできません。そうすれば、私はカフカが5人の動物飼い主のうちの1人に接続し、地元の動物園飼い主は修復され、アンサンブルに後で再び参加することができたと仮定します。しかし、飼い犬飼い主は、少なくともカフカがいつでも開始しようとします。

ここにある私の.serviceファイル:

kafka.service

# Kafka server (broker) management 

[Unit] 
Description=Apache Kafka server (broker) 
Documentation=http://kafka.apache.org/documentation.html 
Requires=network.target remote-fs.target zookeeper.service 
After=network.target remote-fs.target zookeeper.service 

[Service] 
Type=simple 
User=root 
Group=root 
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties 
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh 
Restart=on-abnormal 

[Install] 
WantedBy=multi-user.target 

zookeeper.service

# Zookeeper server management (Kafka-embedded) 

[Unit] 
Description=Apache Zookeeper server (Kafka-embedded) 
Documentation=http://zookeeper.apache.org 
Requires=network.target remote-fs.target 
After=network.target remote-fs.target 

[Service] 
Type=simple 
User=root 
Group=root 
ExecStart=/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties 
ExecStop=/usr/local/kafka/bin/zookeeper-server-stop.sh 
Restart=on-abnormal 

[Install] 
WantedBy=multi-user.target 

編集:私はカフカの下にインデント飼育係を示す依存関係の階層を参照すると予想、彼らは兄弟として表示されます:

# systemctl --all list-dependencies | egrep '(kafka|zookeeper)' 
● ├─kafka.service 
● ├─zookeeper.service 

答えて

0

.targetファイルまたは.serviceファイルは、依存性を持つ可能性があります(.targetはリーフの.serviceファイルの代わりにグループ化単位として優先されます)。必要のいずれかで、正常に動作したい、した後、例えば:

Requires=network.target remote-fs.target zookeeper.service 
After=network.target remote-fs.target zookeeper.service 

それはカフカの依存関係として飼育係が表示されない理由を私はまだ知らないが、私はときにあるように、それは動作しません。

sudo systemctl start kafka 
関連する問題