使用start_cluster.sh启动服务

[hadoop@ruozedata001 shell]$ ./start_cluster.sh
+ ssh ruozedata001 '/home/hadoop/app/zookeeper/bin/zkServer.sh start'
JMX enabled by default
Using config: /home/hadoop/app/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
+ ssh ruozedata002 '/home/hadoop/app/zookeeper/bin/zkServer.sh start'
JMX enabled by default
Using config: /home/hadoop/app/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
+ ssh ruozedata003 '/home/hadoop/app/zookeeper/bin/zkServer.sh start'
JMX enabled by default
Using config: /home/hadoop/app/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
+ sleep 5
+ /home/hadoop/app/hadoop/sbin/start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
Starting namenodes on [ruozedata001 ruozedata002]
ruozedata001: namenode running as process 4006. Stop it first.
ruozedata002: namenode running as process 2356. Stop it first.
ruozedata003: datanode running as process 2358. Stop it first.
ruozedata002: datanode running as process 2426. Stop it first.
ruozedata001: datanode running as process 4109. Stop it first.
Starting journal nodes [ruozedata001 ruozedata002 ruozedata003]
ruozedata002: journalnode running as process 2523. Stop it first.
ruozedata001: journalnode running as process 4299. Stop it first.
ruozedata003: journalnode running as process 2414. Stop it first.
Starting ZK Failover Controllers on NN hosts [ruozedata001 ruozedata002]
ruozedata002: starting zkfc, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.15.1/logs/hadoop-hadoop-zkfc-ruozedata002.out
ruozedata001: starting zkfc, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.15.1/logs/hadoop-hadoop-zkfc-ruozedata001.out
starting yarn daemons
starting resourcemanager, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.15.1/logs/yarn-hadoop-resourcemanager-ruozedata001.out
ruozedata003: starting nodemanager, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.15.1/logs/yarn-hadoop-nodemanager-ruozedata003.out
ruozedata001: starting nodemanager, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.15.1/logs/yarn-hadoop-nodemanager-ruozedata001.out
ruozedata002: starting nodemanager, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.15.1/logs/yarn-hadoop-nodemanager-ruozedata002.out
+ sleep 5s
+ ssh ruozedata002 '/home/hadoop/app/hadoop/sbin/yarn-daemon.sh start resourcemanager'
starting resourcemanager, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.15.1/logs/yarn-hadoop-resourcemanager-ruozedata002.out
+ /home/hadoop/app/hadoop/sbin/mr-jobhistory-daemon.sh start historyserver
starting historyserver, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.15.1/logs/mapred-hadoop-historyserver-ruozedata001.out
+ exit 0

使用jps.sh脚本发现没有启动zookeeper、ZKFC等服务

[hadoop@ruozedata001 shell]$ ./jps.sh
+ echo '----------ruozedata001 process------------'
----------ruozedata001 process------------
+ ssh ruozedata001 /usr/java/jdk1.8.0_45/bin/jps
6976 QuorumPeerMain
7410 Jps
4006 NameNode
4299 JournalNode
4109 DataNode
+ echo '                                                '+ echo '----------ruozedata002 process------------'
----------ruozedata002 process------------
+ ssh ruozedata002 /usr/java/jdk1.8.0_45/bin/jps
2356 NameNode
2426 DataNode
2523 JournalNode
4863 Jps
+ echo '                                                '+ echo '----------ruozedata003 process------------'
----------ruozedata003 process------------
+ ssh ruozedata003 /usr/java/jdk1.8.0_45/bin/jps
3123 Jps
2358 DataNode
+ echo '

然后使用ps命令查看,发现zookeeper服务没有启动

[hadoop@ruozedata001 shell]$ ps aux|grep zookeeper
hadoop    7441  0.0  0.0 112644   968 pts/1    S+   15:48   0:00 grep --color=auto zookeeper

这时候,就去zookeeper的配置文件查找日志文件位置,没找到日志文件。在同级目录下,看到了log4j.properties文件,发现里面写了日志文件名称,根据名称全局查找,发现根本没有这个文件。

log4j.properties文件中发现 zookeeper.log.file=zookeeper.log
[root@ruozedata001 ~]# find / -name zookeeper.log -type f
[root@ruozedata001 ~]#

这时候想到了启动服务的脚本,查看里面是否存在日志文件位置。在zkServer.sh中,看到了启动日志文件名称为zookeeper.out。

nohup "$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \-cp "$CLASSPATH" $JVMFLAGS $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null &
_ZOO_DAEMON_OUT="$ZOO_LOG_DIR/zookeeper.out"

然后根据文件名查找,在/home/hadoop/目录下找到了需要的文件,看到了日志信息。

[root@ruozedata001 ~]# find / -name zookeeper.out -type f
/home/hadoop/zookeeper.out
[root@ruozedata001 ~]# cat /home/hadoop/zookeeper.out
nohup: failed to run command ‘java’: No such file or directory

报错信息为找不到JAVA文件,通过手工执行命令,也看到没有这个命令。

[hadoop@ruozedata001 bin]$ ssh ruozedata001 echo "$JAVA_HOME"
/usr/java/jdk1.8.0_45
[hadoop@ruozedata001 bin]$ ssh ruozedata001 echo "$JAVA"[hadoop@ruozedata001 bin]$

我们这时候去zkEnv.sh环境文件中看看是否存在配置$JAVA的位置,发现的确存在可以配置的文件路径

if [ "$JAVA_HOME" != "" ]; thenJAVA="$JAVA_HOME/bin/java"
elseJAVA=java
fi

我们就直接在zkEnv.sh文件中指定JAVA=/usr/java/jdk1.8.0_45/bin/java。并scp到其他两台服务器

if [ "$JAVA_HOME" != "" ]; thenJAVA="$JAVA_HOME/bin/java"
elseJAVA=/usr/java/jdk1.8.0_45/bin/java
fi
[hadoop@ruozedata001 bin]$ scp zkEnv.sh ruozedata002:/home/hadoop/app/zookeeper/bin
zkEnv.sh                                                                             100% 2723     2.7KB/s   00:00
[hadoop@ruozedata001 bin]$ scp zkEnv.sh ruozedata003:/home/hadoop/app/zookeeper/bin
zkEnv.sh                                                                             100% 2723     2.7KB/s   00:00    

再次使用脚本启动集群,发现服务已经全部启动了。

[hadoop@ruozedata001 shell]$ ./start_cluster.sh
+ ssh ruozedata001 '/home/hadoop/app/zookeeper/bin/zkServer.sh start'
JMX enabled by default
Using config: /home/hadoop/app/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... already running as process 12619.
+ ssh ruozedata002 '/home/hadoop/app/zookeeper/bin/zkServer.sh start'
JMX enabled by default
Using config: /home/hadoop/app/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
+ ssh ruozedata003 '/home/hadoop/app/zookeeper/bin/zkServer.sh start'
JMX enabled by default
Using config: /home/hadoop/app/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
+ sleep 5
+ /home/hadoop/app/hadoop/sbin/start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
Starting namenodes on [ruozedata001 ruozedata002]
ruozedata001: namenode running as process 9512. Stop it first.
ruozedata002: namenode running as process 5853. Stop it first.
ruozedata003: datanode running as process 3699. Stop it first.
ruozedata001: datanode running as process 9615. Stop it first.
ruozedata002: datanode running as process 5926. Stop it first.
Starting journal nodes [ruozedata001 ruozedata002 ruozedata003]
ruozedata003: journalnode running as process 3792. Stop it first.
ruozedata002: journalnode running as process 6020. Stop it first.
ruozedata001: journalnode running as process 9805. Stop it first.
Starting ZK Failover Controllers on NN hosts [ruozedata001 ruozedata002]
ruozedata001: starting zkfc, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.15.1/logs/hadoop-hadoop-zkfc-ruozedata001.out
ruozedata002: starting zkfc, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.15.1/logs/hadoop-hadoop-zkfc-ruozedata002.out
starting yarn daemons
starting resourcemanager, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.15.1/logs/yarn-hadoop-resourcemanager-ruozedata001.out
ruozedata003: nodemanager running as process 4653. Stop it first.
ruozedata001: nodemanager running as process 13218. Stop it first.
ruozedata002: nodemanager running as process 7888. Stop it first.
+ sleep 5s
+ ssh ruozedata002 '/home/hadoop/app/hadoop/sbin/yarn-daemon.sh start resourcemanager'
starting resourcemanager, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.15.1/logs/yarn-hadoop-resourcemanager-ruozedata002.out
+ /home/hadoop/app/hadoop/sbin/mr-jobhistory-daemon.sh start historyserver
historyserver running as process 13376. Stop it first.
+ exit 0
[hadoop@ruozedata001 shell]$ ./jps
-bash: ./jps: No such file or directory
[hadoop@ruozedata001 shell]$ ./jps.sh
+ echo '----------ruozedata001 process------------'
----------ruozedata001 process------------
+ ssh ruozedata001 /usr/java/jdk1.8.0_45/bin/jps
13376 JobHistoryServer
13218 NodeManager
13911 DFSZKFailoverController
14024 ResourceManager
9512 NameNode
12619 QuorumPeerMain
9805 JournalNode
14382 Jps
9615 DataNode
+ echo '                                                '+ echo '----------ruozedata002 process------------'
----------ruozedata002 process------------
+ ssh ruozedata002 /usr/java/jdk1.8.0_45/bin/jps
7888 NodeManager
8320 DFSZKFailoverController
8497 Jps
6020 JournalNode
8182 QuorumPeerMain
5926 DataNode
8439 ResourceManager
5853 NameNode
+ echo '                                                '+ echo '----------ruozedata003 process------------'
----------ruozedata003 process------------
+ ssh ruozedata003 /usr/java/jdk1.8.0_45/bin/jps
3792 JournalNode
3699 DataNode
4839 QuorumPeerMain
4955 Jps
4653 NodeManager
+ echo '

参考:
https://blog.csdn.net/weixin_44131414/article/details/100042456
https://blog.csdn.net/weixin_43975538/article/details/100051695

梳理ssh zk集群无法启动的原因相关推荐

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

    一.检查进程 1.1 检查JAVA进程 JPS [hadoop@ruozedata001 script]$ jps 20768 DFSZKFailoverController 21538 Jps 20 ...

  2. Apache ZooKeeper - 使用源码启动ZK集群模式

    文章目录 Pre 配置总览 端口说明 Node 1 [zoo1.cfg ] [myid] Node 2 [zoo2.cfg ] [myid] Node 3 [zoo3.cfg ] [myid] 启动集 ...

  3. 判断zk是否挂掉_Zookeeper入门学习第一天,zk集群简单介绍

    一.Zookeeper集群搭建及基本使用 1.centOs虚拟机三台 ,集群最好是奇数台容灾性好一些,由于允许不过半节点宕机,例五台可以挂掉两台,四台可以挂掉一台.简单说就是过半可用. 2.Zooke ...

  4. ZooKeeper实战篇之zk集群搭建、zkCli.sh操作、权限控制ACL、ZooKeeper JavaAPI使用

    在看了史上最全的Zookeeper原理详解(万字长文),了解Zookeeper的原理后,你是不是蠢蠢欲动想着手实践呢?这篇文章将手把手教你在Linux上搭建ZooKeeper集群,并调用相关API实现 ...

  5. zk集群自动化脚本搭建-只需一个脚本

    本次搭建zk集群为了方便,以docker容器的方式来演示 1.创建三个docker实例并按装jdk8 docker run --privileged -dit --name zk1 --hostnam ...

  6. 网易云课堂学习-zk集群

    可靠的zk服务 zk集群介绍 1.1. 可靠的zk服务 1.2. 只要集群的大多数都准备好了,就可以使用这项服务 1.3. 容错集群设置至少需要三个以上服务器 强烈建议使用奇数个服务器 1.4. 建议 ...

  7. Zookeeper在Dubbo中的作用及Zk集群的选举原理

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan Zk在Dubbo中的作用 zk在dubbo中是服务注册与发现的注册中心,dubbo的调用过程是c ...

  8. springboot+dubbo+zk集群搭建

    zookeeper的集群搭建在上一编已经说过,不会的可以查看. 下面开始搭建springboot+dubbo+zk注册中心的demo 生产者工程目录如图 一.创建dubbo-provider父工程 父 ...

  9. ClickHouse ZK集群迁移

    搭建CK平台的时候,ZK是自维护环境: 现根据需要,统一迁移到云平台进行统一管控: 由于两边是不同的集群,无法通过脑裂的方式进行平滑迁移,更新ZK后,CK需要重启生效,无法像参数一样动态加载:(刚迁移 ...

最新文章

  1. bash-shell--高级编程
  2. Freemarker 页面静态化技术使用入门案例
  3. lamp怎么使用mysql_我的LAMP实现过程——MySql
  4. 补码为什么要取反加1?
  5. codevs 1052:地鼠游戏
  6. java位逻辑运算符_详述:Java逻辑运算符与位运算
  7. 移动端iphone抓包调试神器—Stream安装和使用(一)
  8. 信息学奥赛C++语言:打擂台
  9. oracle 正则表达式2
  10. 地址栏 输入 参数 刷新参数丢失_Java 编程技巧:如何实现参数的输入输出?
  11. 实验一 熟悉常用的Linux操作,实验2-熟悉常用的HDFS操作
  12. 【网络入侵检测】K均值与层次聚类分析(sklearn,scipy,手写实现)
  13. 《涂抹Oracle—三思笔记之一步一步学Oracle》看书笔记(序言)
  14. mysql函数大全之数字函数
  15. 用剪映将无字幕的英文视频翻译成中文字幕(附教程+软件)
  16. 5年500台达芬奇手术,和睦家实现技术升级
  17. Redis Cluster集群实验
  18. 心得-计算机软考之嵌入式系统工程师
  19. ArcGIS移动客户端离线地图的几种解决方案
  20. 页面向左移动动画html,jQuery仿左右窗帘拉开页面动画特效

热门文章

  1. python创建员工_python-作业:员工信息表
  2. java泰坦宙斯之战程序_泰坦-宙斯之战
  3. 深入理解String、StringBuffer和StringBuilder
  4. 大数据处理 - Overview
  5. 【arm64 飞腾】银河麒麟/统信UOS/ubuntu20.0.4系统离线安装erlang、rabbitmq
  6. Android---PreferenceManager(偏好设置)
  7. springSecurity源码之鉴权原理
  8. maven-replacer-plugin 静态资源版本号解决方案(css/js等)
  9. Spring Boot 实现将多个MinIO文件压缩成压缩包并下载至本地
  10. 我们该怎么去准备校招呢?