Apache zookeeper 动物园管理员多恩';s由于java.lang.ClassNotFoundException:org.apache.zookeeper.server.quorum.QuorumPeerMain而启动
我已经搜索了这个论坛,没有找到我的案例的有效答案:Apache zookeeper 动物园管理员多恩';s由于java.lang.ClassNotFoundException:org.apache.zookeeper.server.quorum.QuorumPeerMain而启动,apache-zookeeper,Apache Zookeeper,我已经搜索了这个论坛,没有找到我的案例的有效答案: 我安装了Java1.8 我从下载了zookeeper-3.5.5的二进制版本 我将zoo_sample.cfg更改为zoo.cfg,没有对cfg进行任何更改 我尝试以root用户身份启动zookeeper: [root@pocdnr1n1apache-zookeeper-3.5.5-bin]#bin/zkServer.sh start conf/zoo.cfg 我在日志中收到错误: Could not find the main class:
Could not find the main class: org.apache.zookeeper.server.quorum.QuorumPeerMain. Program will exit.
谢谢。我想我已经找到了根本原因,把它贴在这里供未来读者阅读: 罪魁祸首是Java 我在节点上有一个旧的java版本,这可以通过运行
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
您应该将路径添加到.bash_配置文件中,使其成为永久路径
在运行source.bash\u profile
之后,现在已经将Java1.8设置为默认java。同样,您可以通过运行java-version
再次运行zookeeper,它将按预期启动
这里常见的遗漏是: