zookeeper自启动

1.创建用户

useradd -m zookeeper

检查:
cat /etc/passwd
cat /etc/group
cd /home/zookeeper------------自行在home下建立了zookeeper目录

2.上传并解压zookeeper,修改配置文件、修改用户及用户组
1)tar zxf zookeeper-3.4.14.tar.gz

2)chown -R zookeeper:zookeeper zookeeper-3.4.14

3)mv zoo_sample.cfg zoo.cfg
vim zoo.cfg

dataDir=/home/zookeeper/zookeeper-3.4.14/data
dataLogDir=/home/zookeeper/zookeeper-3.4.14/log

4)vim zkEnv.sh

if [ "x${ZOO_LOG_DIR}" = "x" ]
then
    ZOO_LOG_DIR="${ZOOKEEPER_PREFIX}/log"

5./lib/systemd/system目录下zookeeper.service,内容如下

[Unit]
Description=zookeeper
[Service]
Type=forking
Environment=ZOO_LOG_DIR=/home/flink/zookeeper-3.4.14/bin
Environment=JAVA_HOME=/usr/local/java/
ExecStart=/home/zookeeper/zookeeper-3.4.14/bin/zkServer.sh start
ExecStop=/home/zookeeper/zookeeper-3.4.14/bin/zkServer.sh stop
PrivateTmp=true
User=zookeeper
Group=zookeeper
 
[Install]
WantedBy=multi-user.target

6.systemctl daemon-reload

systemctl start zookeeper

systemctl status zookeeper

systemctl enable zookeeper

systemd-analyze verify zookeeper.service–分析是否存在异常

journalctl -u zookeeper.service
journalctl -u zookeeper---------查看日志

7.reboot后可以发现可以自启动了

遇到问题

systemctl start zookeeper后发现没有报错,但status就发现没有在运行:

starting zookeeper...
Zookeeper jmx enabled by default
using config: /home/flink/zookeeper-3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
Zookeeper JMX enabled by default
using config: /home/flink/zookeeper-3.4.14/bin/../conf/zoo.cfg
stopping zookeeper ... /home/flink/zookeeper-3.4.14/bin/zkServer.sh: line 182: kill (24939) - No such process
STOPPED
systemd[1]:Started zookeeper.

journalctl -u zookeeper.service----查看日志

...
Starting zookeeper ...
...
Starting zookeeper ...  STARTED
...
Stopping zookeeper ...
STOPPED

发现先是成功启动了zookeeper但又自行调用了STOP,参考
https://blog.csdn.net/Peter_JJH/article/details/108446380,

zookeeper.service加入
RemainAfterExit=yes

再执行就成功了

> systemctl start zookeeper

但后面还是出现了报错
查看zookeeper.out,发现

nohup: failed to run command `java': No such file or directory

发现其实是找到JAVA_HOME导致,加入下面即可

> which java
/usr/local/java/bin/java

则只需要在zookeeper.service加入
Environment=JAVA_HOME=/usr/local/java

启动报错:./zookeeper.out: Permission denied

在这里插入图片描述
从上面图片看出使用flink用户在根目录进行启动,尝试在当前目录新建zookeeper.out发现没有权限 导致

解决

  • 移到用户权限目录下执行;
  • 修改zkEnv.sh中ZOO_LOG_DIR="${ZOOKEEPER_PREFIX}/log"
  • 修改zookeeper.service
    Environment=ZOO_LOG_DIR=/home/flink/zookeeper-3.4.14/bin
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值