由于ARM服务器上部署zookeeper集群,会存在加载不到主类问题,现在把遇到的问题进行总结下,问题如下:
[root@node206 apache-zookeeper-3.5.10]# bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /data1/software/apache-zookeeper-3.5.10/bin/../conf/zoo.cfg
Starting zookeeper ... FAILED TO START
通过zookeeper日志可以看到加载不到主类,报错如下:
[root@node206 logs]# cat zookeeper-root-server-starces206.out
错误: 找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain
问题排查分析:
下载了错误的版本文件,Zookeeper 从3.5.10后开始拆分为两个版本,而且他们的结构还很类似。
(1)标准版本(Apache ZooKeeper x.y.z ),下载的文件名为:apache-zookeeper-x.y.z-bin.tar.gz
(2)另一个是源码版本(Apache ZooKeeper x.y.z Source Release),下载的文件名为:apache-zookeeper-x.y.z.tar.gz
如果你的压缩包是3.5以上的版本,随着版本的更新,3.5版本以后的压缩包分成了两种我们需要使用文件名带有bin 的那个压缩包,例如:apache-zookeeper-3.5.10-bin.tar.gz 这样解压后才会有lib目录下的那些jar包.
1.下载安装zookeeper
将下载好的zookeeper上传到服务器指定目录,然后解压
tar -zxvf apache-zookeeper-3.9.1-bin-.tar.gz
修改配置文件名称
mv zoo_simple.cfg zoo.cfg
配置环境变量,便于任意目录下都可以启动zookeeper
vim /etc/profile
配置内容为
export ZOOKEEPER=/data1/software/apache-zookeeper-3.9.1-bin
export PATH=$PATH:$ZOOKEEPER/bin
加载配置文件
source /etc/profile
启动zookeeper
zkServer.sh start
查看zookeeper状态
zkServer.sh status
或
ps -ef |grep zookeeper
至此zookeeper的注册中心环境搭建完毕。