今天在安装完zookeeper的时候,总是无法启动,显示如下的错误:
[root@zookeeper1 zookeeper-3.4.5]# bin/zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
[root@zookeeper1 zookeeper-3.4.5]#
1.先检查一个jdk是否安装,因为zookeeper的运行需要JVM环境,然后我们可以使用两个命令进行检查
java或者java -version
[root@zookeeper1 zookeeper-3.4.5]# java
用法: java [-options] class [args...]
(执行类)
或 java [-options] -jar jarfile [args...]
(执行 jar 文件)
其中选项包括:
-d32 使用 32 位数据模型 (如果可用)
-d64 使用 64 位数据模型 (如果可用)
-server 选择 "server" VM
默认 VM 是 server.
-cp <目录和 zip/jar 文件的类搜索路径>
-classpath <目录和 zip/jar 文件的类搜索路径>
用 : 分隔的目录, JAR 档案
和 ZIP 档案列表, 用于搜索类文件。
-D<名称>=<值>
设置系统属性
-verbose:[class|gc|jni]
启用详细输出
-version 输出产品版本并退出
-version:<值>
警告: 此功能已过时, 将在
未来发行版中删除。
需要指定的版本才能运行
-showversion 输出产品版本并继续
-jre-restrict-search | -no-jre-restrict-search
警告: 此功能已过时, 将在
未来发行版中删除。
在版本搜索中包括/排除用户专用 JRE
-? -help 输出此帮助消息
-X 输出非标准选项的帮助
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
按指定的粒度启用断言
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
禁用具有指定粒度的断言
-esa | -enablesystemassertions
启用系统断言
-dsa | -disablesystemassertions
禁用系统断言
-agentlib:<libname>[=<选项>]
加载本机代理库 <libname>, 例如 -agentlib:hprof
另请参阅 -agentlib:jdwp=help 和 -agentlib:hprof=help
-agentpath:<pathname>[=<选项>]
按完整路径名加载本机代理库
-javaagent:<jarpath>[=<选项>]
加载 Java 编程语言代理, 请参阅 java.lang.instrument
-splash:<imagepath>
使用指定的图像显示启动屏幕
有关详细信息, 请参阅 http://www.oracle.com/technetwork/java/javase/documentation/index.html。
[root@zookeeper1 zookeeper-3.4.5]# java -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)
[root@zookeeper1 zookeeper-3.4.5]#
可以发现jdk环境是安装成功的
2.接下来,可以查看一下zookeeper的端口是否被占用
使用这个命令
[root@zookeeper1 zookeeper-3.4.5]# netstat -apn | grep 2181
tcp 0 0 :::2181 :::* LISTEN 1403/java
[root@zookeeper1 zookeeper-3.4.5]#
可以看到zookeeper的端口是被占用了 所以需要杀死这个进程
[root@zookeeper1 zookeeper-3.4.5]# kill -9 1403
[root@zookeeper1 zookeeper-3.4.5]# netstat -apn | grep 2181
[root@zookeeper1 zookeeper-3.4.5]#
可以看到现在没有端口占用2181了
这时候,可以启动一下zookeeper了
3.如果还是启动不了,先进入到自己创建的data目录中,把version-2文件夹和zookeeper_server.pid两个文件删除掉。
[root@zookeeper1 data]# rm -rf version-2/ zookeeper_server.pid
[root@zookeeper1 data]# ls
myid
[root@zookeeper1 data]#
现在在启动,就启动OK了
[root@zookeeper1 zookeeper-3.4.5]# bin/zkServer.sh start
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@zookeeper1 zookeeper-3.4.5]# bin/zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfg
Mode: follower
[root@zookeeper1 zookeeper-3.4.5]#
如果还是不可以启动,建议重新安装zookeeper。
来源:CSDN
作者:Be a good programmer
链接:https://blog.csdn.net/xiaoxinxin123456789/article/details/84481635