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" ]
thenZOO_LOG_DIR="."
fiif [ "x${ZOO_LOG4J_PROP}" = "x" ]
thenZOO_LOG4J_PROP="INFO,CONSOLE"
fiif [ "$JAVA_HOME" != "" ]; thenJAVA="$JAVA_HOME/bin/java"
elseJAVA=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
zk集群无法启动的排查思路相关推荐
- 梳理ssh zk集群无法启动的原因
使用start_cluster.sh启动服务 [hadoop@ruozedata001 shell]$ ./start_cluster.sh + ssh ruozedata001 '/home/had ...
- Apache ZooKeeper - 使用源码启动ZK集群模式
文章目录 Pre 配置总览 端口说明 Node 1 [zoo1.cfg ] [myid] Node 2 [zoo2.cfg ] [myid] Node 3 [zoo3.cfg ] [myid] 启动集 ...
- zk集群自动化脚本搭建-只需一个脚本
本次搭建zk集群为了方便,以docker容器的方式来演示 1.创建三个docker实例并按装jdk8 docker run --privileged -dit --name zk1 --hostnam ...
- 判断zk是否挂掉_Zookeeper入门学习第一天,zk集群简单介绍
一.Zookeeper集群搭建及基本使用 1.centOs虚拟机三台 ,集群最好是奇数台容灾性好一些,由于允许不过半节点宕机,例五台可以挂掉两台,四台可以挂掉一台.简单说就是过半可用. 2.Zooke ...
- 网易云课堂学习-zk集群
可靠的zk服务 zk集群介绍 1.1. 可靠的zk服务 1.2. 只要集群的大多数都准备好了,就可以使用这项服务 1.3. 容错集群设置至少需要三个以上服务器 强烈建议使用奇数个服务器 1.4. 建议 ...
- Zookeeper在Dubbo中的作用及Zk集群的选举原理
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan Zk在Dubbo中的作用 zk在dubbo中是服务注册与发现的注册中心,dubbo的调用过程是c ...
- ZooKeeper实战篇之zk集群搭建、zkCli.sh操作、权限控制ACL、ZooKeeper JavaAPI使用
在看了史上最全的Zookeeper原理详解(万字长文),了解Zookeeper的原理后,你是不是蠢蠢欲动想着手实践呢?这篇文章将手把手教你在Linux上搭建ZooKeeper集群,并调用相关API实现 ...
- springboot+dubbo+zk集群搭建
zookeeper的集群搭建在上一编已经说过,不会的可以查看. 下面开始搭建springboot+dubbo+zk注册中心的demo 生产者工程目录如图 一.创建dubbo-provider父工程 父 ...
- ClickHouse ZK集群迁移
搭建CK平台的时候,ZK是自维护环境: 现根据需要,统一迁移到云平台进行统一管控: 由于两边是不同的集群,无法通过脑裂的方式进行平滑迁移,更新ZK后,CK需要重启生效,无法像参数一样动态加载:(刚迁移 ...
最新文章
- 在Android中进行单元测试遇到的问题
- accept函数_基础套接字函数入门1
- 原生 遍历_前端原生写js代码还是用vue等框架写项目?
- Viewpager无限循环(首页与尾页平滑过渡)
- $(this).attr(checked, true); 设置不了
- 执​行​o​r​a​c​l​e​函​数​的​四​种​方​法
- congestion report解读
- idea中springBoot项目修改html之类的文件后服务不自动更新
- python萤火虫算法_一种萤火虫算法优化神经网络的短期负荷预测方法与流程
- 计算机应用基础信息素养,计算机应用基础:信息素养+Office 2013办公自动化
- 【科来】网络异常行为分析学习笔记
- android图片聊天背景图片,32张黑色简约手机壁纸图片大全 也适合作微信7.0聊天背景图片...
- HTTP3 RFC标准正式发布,QUIC会成为传输技术的新一代颠覆者吗?
- Jrebel、IDEA的激活与Springloaded使用
- 人工智能技术在金融风控领域中的应用
- ubuntu自带的ibus输入中文出现奇怪模式问题
- js中自定义对象、json对象、json字符串、普通js对象 --js学习那本书上的
- 微信小程序相关知识点
- React的Portal是干什么的
- Rhinoceros 7 for Mac(犀牛7 mac版)