由于 java.lang.ClassNotFoundException:org.apache.zookeeper.server.quorum.QuorumPeerMain,zookeeper doen 开始了
zookeeper doen's get started due to java.lang.ClassNotFoundException: org.apache.zookeeper.server.quorum.QuorumPeerMain
我已经搜索过这个论坛,没有找到适合我的案例的答案:
- 我安装了java1.8
我从https://www.apache.org/dist/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz
下载了zookeeper-3.5.5的二进制版本
我将 zoo_sample.cfg 更改为 zoo.cfg,没有对 cfg 进行任何更改
我尝试以 root 身份启动 zookeeper:
[root@pocdnr1n1 apache-zookeeper-3.5.5-bin]# bin/zkServer.sh start conf/zoo.cfg
我在日志中收到错误:
Could not find the main class: org.apache.zookeeper.server.quorum.QuorumPeerMain. Program will exit.
谢谢。
我想我已经找到了根本原因,张贴在这里以供未来的读者使用:
罪魁祸首是Java。
我在节点上有一个旧的 java 版本,这可以通过 运行ning java -version
来验证
在我的例子中,java 是 1.6,我所做的是重置环境以添加新的 java 1.8:
# export JAVA_HOME=/opt/jdk1.8.0_151
# export JRE_HOME=/opt/jdk1.8.0_151/jre/
# export PATH=$PATH:/opt/jdk1.8.0_151/bin:/opt/jdk1.8.0_151/jre/bin
您应该将 PATH 添加到 .bash_profile 以便它成为永久的。
现在您 运行 source .bash_profile
,现在您已将 java 1.8 设置为默认值 java。同样,您可以通过 运行ning java -version
确认
运行 你的 zookeeper 将按预期启动。
这里常见的缺失是:
- 下载了非二进制 zookeeper
- java太低了(1.6不行,推荐1.8)
- 应设置环境以确保选择 java 1.8 作为默认版本
希望对您有所帮助。
如果您查看 3.5.5 的 ZooKeeper Administrator's Guide - Required Software,它会显示:
ZooKeeper runs in Java, release 1.7 or greater (JDK 7 or greater, FreeBSD support requires openjdk7).
这肯定了您的发现。您的 Java 版本太低。
我已经搜索过这个论坛,没有找到适合我的案例的答案:
- 我安装了java1.8
我从https://www.apache.org/dist/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz
下载了zookeeper-3.5.5的二进制版本
我将 zoo_sample.cfg 更改为 zoo.cfg,没有对 cfg 进行任何更改
我尝试以 root 身份启动 zookeeper:
[root@pocdnr1n1 apache-zookeeper-3.5.5-bin]# bin/zkServer.sh start conf/zoo.cfg
我在日志中收到错误:
Could not find the main class: org.apache.zookeeper.server.quorum.QuorumPeerMain. Program will exit.
谢谢。
我想我已经找到了根本原因,张贴在这里以供未来的读者使用:
罪魁祸首是Java。
我在节点上有一个旧的 java 版本,这可以通过 运行ning java -version
在我的例子中,java 是 1.6,我所做的是重置环境以添加新的 java 1.8:
# export JAVA_HOME=/opt/jdk1.8.0_151
# export JRE_HOME=/opt/jdk1.8.0_151/jre/
# export PATH=$PATH:/opt/jdk1.8.0_151/bin:/opt/jdk1.8.0_151/jre/bin
您应该将 PATH 添加到 .bash_profile 以便它成为永久的。
现在您 运行 source .bash_profile
,现在您已将 java 1.8 设置为默认值 java。同样,您可以通过 运行ning java -version
运行 你的 zookeeper 将按预期启动。
这里常见的缺失是:
- 下载了非二进制 zookeeper
- java太低了(1.6不行,推荐1.8)
- 应设置环境以确保选择 java 1.8 作为默认版本
希望对您有所帮助。
如果您查看 3.5.5 的 ZooKeeper Administrator's Guide - Required Software,它会显示:
ZooKeeper runs in Java, release 1.7 or greater (JDK 7 or greater, FreeBSD support requires openjdk7).
这肯定了您的发现。您的 Java 版本太低。