zk集群无法启动的排查思路

一、检查进程

1.1 检查JAVA进程 JPS
[hadoop@ruozedata001 script]$ jps
20768 DFSZKFailoverController
21538 Jps
20564 JournalNode
20247 NameNode
20359 DataNode
20968 NodeManager
20861 ResourceManager
21149 JobHistoryServer
1.2查看LINUX进程 PS
[hadoop@ruozedata001 script]$ ps -ef|grep zookeeper
hadoop    21621  20000  0 13:56 pts/0    00:00:00 grep --color=auto zookeeper

二、 找 ZK 日志文件 (CDH日志默认在/var/log/)

2.1 在配置文件中查找
2.1.1 查看配置文件 zoo.cfg,没有找到和日志相关的配置项
2.1.2 查看配置文件 log4j.properties,找到日志目录和日志文件名
zookeeper.log.dir=.
zookeeper.log.file=zookeeper.log
2.1.3 查找 zookeeper.log,鬼都没有找到
[hadoop@ruozedata001 conf]$ find /home/hadoop -name 'zookeeper.log'
[hadoop@ruozedata001 conf]$ sudo find / -name 'zookeeper.log'
[hadoop@ruozedata001 conf]$ 
2.2 在启动脚本 zkServer.sh 中查找日志
2.2.1根据start 定位 启动代码

在这里插入图片描述

2.2.2 在启动代码中找到 ZOO_LOG_DIR

在这里插入图片描述

2.2.3 根据ZOO_LOG_DIR向上搜索定义位置,很显然没有找到定义语句,但找到了输出日志的文件名zookeeper.out

在这里插入图片描述


三、 查看日志,根据日志找到错误提示

3.1 查看日志全路径
[hadoop@ruozedata001 bin]$ find /home/hadoop -name 'zookeeper.out'
/home/hadoop/zookeeper.out
3.2 查看日志,分析原因
3.2.1 查看日志
[root@ruozedata001 ~]# cat /home/hadoop/zookeeper.out
nohup: failed to run command ‘java’: No such file or directory
3.2.2 分析原因,java环境没有读到
[hadoop@ruozedata001 hadoop]$ ssh ruozedata001 "which java"
which: no java in (/usr/local/bin:/usr/bin)
[hadoop@ruozedata001 hadoop]$ 

[hadoop@ruozedata001 hadoop]$ ssh ruozedata001 "echo $JAVA_HOME"
/usr/java/jdk1.8.0_45
[hadoop@ruozedata001 hadoop]$ 
3.3 查看环境加载脚本 zkEnv.sh
if [ "x${ZOO_LOG_DIR}" = "x" ]
then
    ZOO_LOG_DIR="."
fi

if [ "x${ZOO_LOG4J_PROP}" = "x" ]
then
    ZOO_LOG4J_PROP="INFO,CONSOLE"
fi

if [ "$JAVA_HOME" != "" ]; then
  JAVA="$JAVA_HOME/bin/java"
else
  JAVA=java
fi

在这里插入图片描述


四、解决方案

4.1 第一种:直接在 zkEnv.sh 写死java路径

在这里插入图片描述

4.2 第二种:ssh时 加载环境变量配置文件是.bashrc,而不是.bash_profile。在.bashrc中添加java环境配置
[hadoop@ruozedata001 hadoop]$ vi ~/.bashrc 
#env
export JAVA_HOME=/usr/java/jdk1.8.0_45
export PATH=/usr/java/jdk1.8.0_45/bin:$PATH
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值