centos下zookeeper开机启动

以下解决方案借鉴了:https://www.pocketdigi.com/20180131/1593.html

环境:centos7,集成zookeeper的kafka,kafka_2.12-2.6.0,jdk1.8

思路:用rc.local来解决? 答案不行,用两三个小时,无法解决,而且rc.local文件中也有明确注释“It is highly advisable to create own systemd services or udev rules”,大意是:墙裂建议用systemmd服务。最后我也是用systemctl来解决。

关于rc.local失败的原因我觉得应该是jdk环境变量没有设置好,后续有时间再研究。

步骤:

1、在/etc/systemd/system 路径下创建zookeeper.service文件;

vi zookeeper.serice

2、在文件中添加以下内容,关键参数说明:Environment为jdk路径,jdk路径后面拼接的路径暂时不知道什么意思,我调试了很久没出来,主要是这个参数没有配置,一直提示127错误码。

[Unit]
Description=zookeeper.service
After=network.target
[Service]
Type=simple
Environment=PATH=/usr/java/jdk1.8.0_171/bin:/usr/java/jdk1.8.0_171/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
ExecStart=/usr/java/kafka_2.12-2.6.0/bin/zookeeper-server-start.sh  /usr/java/kafka_2.12-2.6.0/config/zookeeper.properties
ExecStop=/usr/java/kafka_2.12-2.6.0/bin/zookeeper-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target

3、重新加载配置

systemctl daemon-reload

4、尝试手动启动,手动启动成功后再测试开机自动启动,zookeeper为文创建第1步创建的文件名

systemctl start zookeeper

5、查看zookeeper是否启动成功

ps -ef | grep zookeeper

6、开启自动启动

systemctl enable zookeeper

执行上述代码,控制台会有如下提示:Created symlink from /etc/systemd/system/multi-user.target.wants/zookeeper.service to /etc/systemd/system/zookeeper.service.

7、关闭操作系统再打开,再用ps -ef | grep zookeeper命令查看是否启动了

你可能感兴趣的:(kafka,centos,zookeeper,kafka)