vi /usr/lib/systemd/system/zookeeper.service
[Unit] Description=zookeeper After=network.target remote-fs.target nss-lookup.target [Service] Type=forking Environment=JAVA_HOME=/usr/local/jdk1.8.0_211 #注意沒有這個環境變量服務可能無法啟動 ExecStart=/opt/zookeeper/zookeeper-3.4.10/bin/zkServer.sh start ExecStop=/opt/zookeeper/zookeeper-3.4.10/bin/zkServer.sh stop PIDFile=/opt/zookeeper/zkdata/zookeeper_server.pid PrivateTmp=true [Install] WantedBy=multi-user.target
systemctl daemon-reload
systemctl restart zookeeper
systemctl status zookeeper
systemctl enable zookeeper
參考連接
http://blog.chinaunix.net/uid-16361381-id-5770870.html
kafka開機啟動
vi /opt/kafka/kafkastart.sh #kafka啟動腳本
#!/bin/bash nohup /opt/kafka/kafka_2.11-1.1.0/bin/kafka-server-start.sh /opt/kafka/kafka_2.11-1.1.0/config/server.properties >/dev/null 2>&1 &
vi /opt/kafka/kafkastop.sh #kafka停止腳本
#!/bin/bash pid=`ps -ef|grep kafka | grep -v 'grep' | awk '{print $2}'` kill -9 $pid
vi /usr/lib/systemd/system/kafka.service 開機啟動腳本
[Unit] Description=kafka # 這個名字就可以 systemctl restart kafka啟動了 After=network.target remote-fs.target nss-lookup.target zookeeper.service [Service] Type=forking Environment=JAVA_HOME=/usr/local/jdk1.8.0_211 #注意沒有這個環境變量服務可能無法啟動 ExecStart=/opt/kafka/kafkastart.sh ExecStop=/opt/kafka/kafkastop.sh PrivateTmp=true [Install] WantedBy=multi-user.target
chmod 700 /opt/kafka/kafkastop.sh chmod 700 /opt/kafka/kafkastart.sh
systemctl daemon-reload
systemctl restart kafka
systemctl status kafka
systemctl enable kafka
注意
kafka是在zookeeper啟動以后才能正常啟動 所以上面配置需要在zookeeper.service后啟動
After=network.target remote-fs.target nss-lookup.target zookeeper.service
find ./libs/ -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*' #在kafka目錄版本查看
版本升級
cp /opt/kafka/kafka_2.11-1.1.0/config/server.properties /opt/kafka/kafka_2.12-2.3.1/config/server.properties nohup /opt/kafka/kafka_2.12-2.3.1/bin/kafka-server-start.sh /opt/kafka/kafka_2.12-2.3.1/config/server.properties >/dev/null 2>&1 & 192.168.130.36:9092-版本kafka_2.12-2.3.1