我有5个带有CentOS 7的虚拟机,每个虚拟机都运行kafka及其嵌入式zookeeper。
在我的系统单位文件中,我尝试使用zookeeper。服务需要卡夫卡的依赖性。但它似乎不起作用,文档也没有明确说明是否只有。目标文件是Requires的有效值(我也假设是在Requires之后/之前),还是。服务文件本身也是允许的。
此外,我应该用“需要”而不是“需要”,以防卡夫卡可以很好地开始,但当地的动物园管理员不能?这样,我假设卡夫卡会连接到其他一个动物园管理员,因为它知道所有的5个,而当地的动物园管理员可以修复,并开始重新加入该团队后。但动物园管理员至少会尝试在卡夫卡的任何时候开始。
卡夫卡服务
# 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