目录
一、Starting Zookeeper ............... FAILED TO START
1、查看错误日志信息
2、总结
二、-bash:ZookeeperServer.sh: command not found异常
2、总结
一、Starting Zookeeper ............... FAILED TO START
1、查看错误日志信息
当Zookeeper在启动过程中可能出现Starting Zookeeper ......FAILED TO START,异常,这类异常该怎么解决那?
第一步查看错误日志:
可以通过./zkServer.sh start-foreground 命令看看日志信息;
通过日志错误信息记录来判断出现异常的具体原因:
root@gaokaoli:/usr/local/apache-zookeeper-3.5.7/bin
ZooKeeper JMX enabled by default
Using config: /usr/local/apache-zookeeper-3.5.7/bin/../conf/zoo.cfg
Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain
Caused by: java.lang.ClassNotFoundException: org.apache.zookeeper.server.quorum.QuorumPeerMain
通过上述信息描述,我们可以发现这个异常具体原因是当前压缩包是源码压缩包,系统在解压后,发现编码格式都是java源码,而不是编译包;
Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain
猜测应该是没有找到启动类,应该是缺少某一个 jar 文件。
对比以前搭建的 zookeeper(3.4.9) ,以前的 zookeeper 安装路径下有一个 lib 目录,而 3.5.6 版本没有,将 lib 复制到到 3.5.6 版本的安装目录。
尝试再次启动;
打脸了,还是失败,错误信息一样;
小本本记好,考试会考的重点来了;
经过多次尝试,使用了很多版本的Zookeeper,发现 Zookeeper 还是启动不成功,因此将 Zookeeper 降低版本,使用 Zookeeper 3.4.9 ,Zookeeper 则正常启动。
2、总结
因为压缩包内不带bin文件,带有bin文件的压缩包才是标准压缩包,而不带bin的压缩包是源码压缩包,很容易混淆,下次千万别解压错了。
Zookeeper在3.5版本以后,会自动把8080端口给占用了,所以也会导致启动不成功;
🤡第一种方案
直接换一个端口号就可以了,在配置文件conf中的zoo.cfg添加以下命令:
# admin port
admin.serverPort=8089
🤡第二种方案
假如不使用服务器,直接将其禁用,也是在配置文件中添加如下命令:
# 禁用服务
admin.enableServer=false
二、-bash:ZookeeperServer.sh: command not found异常
出现该异常时在服务器中Zookeeper的bin目录下使用zkServer.sh start
root@gaokaoli:/usr/local/apache-zookeeper-3.5.7/bin
zkServer.sh: command not found
明明已经进入了zookeeper的安装目录bin下了,执行zkServer.sh start 没有这个命令?
或者有这个命令,但启动不了;
两种解决方法:
(1)一种是到zookeeper的 安装目录bin下,将命令换成 ./ zkServer.sh start ;
(2)一种是配置环境变量:vim /etc/profile ,添加以下代码:
export ZOO_HOME=/usr/local/zookeeper-3.4.6
export PATH=$ZOO_HOME/bin:$PATH
然后 source /etc/profile ;
再执行 zkServer.sh start 就可以了。
2、总结
主要还是因为在虚拟机中使用sh文件不是直接启动,除非配置环境变量到系统中,才可使用该目录下的sh文件或者是通过命令行中加一个./
进行执行sh文件才可以;
配置环境变量:
在系统的配置文件中加入zookeeper的环境变量时,在命令行中即可直接执行zookeeper的sh文件,通过/etc/profile,
打开该文件可以通过vim或者gedit或者vi
在末尾加入环境变量,具体配置环境变量如下:
export ZOO_HOME=zookeeper的目录路径
export PATH=$ZOO_HOME/bin:$PATH
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)