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