zookeeper启动失败的解决方案

文章讲述了在Linux上安装未编译的Zookeeper遇到启动问题,通过分析发现应使用编译后的bin包。解决方案包括下载新版本源码、删除旧目录、配置环境变量、设置数据目录和zkServer.sh,最后修复JDK路径以成功启动ZooKeeper。
摘要由CSDN通过智能技术生成

问题描述

在linux系统上安装好zookeeper以后,发现启动不了,报以下的错:

在这里插入图片描述于是输入命令查看启动失败的原因:

./zkServer.sh start.foreground

发现报错原因是找不到或无法加载主类
在这里插入图片描述


原因分析:

下载使用的zk是未编译的apache-zookeeper-3.8.2.tar.gz, 自zk3.5.5版本以后,已编译的jar包,尾部有bin,应该使用的是apache-zookeeper-3.8.2-bin.tar.gz。

解决方案:

1、重新下载源码包

下载链接:zk 3.8.2源码包

2、删除原来的解压目录

rm -rf /usr/local/zookeeper

3、新建zookeeper目录

mkdir zookeeper

4、将下载好的zookeeper文件移动到zookeeper目录下

mv /home/yuqn/下载/apache-zookeeper-3.8.2-bin.tar.gz /usr/local/zookeeper

5、解压

tar -zxvf apache-zookeeper-3.8.2-bin.tar.gz

6、配置启动

  • 进入到conf目录拷贝一个zoo_sample.cfg并完成配置
#进入到conf目录
cd /usr/local/zooKeeper/apache-zooKeeper-3.8.2-bin/conf/
#拷贝
cp  zoo_sample.cfg  zoo.cfg
  • 修改zoo.cfg
#打开目录
cd /usr/local/zooKeeper/
#创建zooKeeper存储目录
mkdir  zkdata
#修改zoo.cfg
vim /usr/local/zooKeeper/apache-zooKeeper-3.8.2-bin/conf/zoo.cfg
  • 修改存储目录:dataDir=usr/local/zookeeper/zkdata

7、启动

cd /usr/local/zooKeeper/apache-zooKeeper-3.8.2-bin/bin/
#启动
 ./zkServer.sh  start

但是报了启动失败,报了下面的错:
在这里插入图片描述这是因为没有配置jdk路径,所以要修改zkServer.sh文件:

vim zkServer.sh

在文件开头加上
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_371

再次启动,成功
查看ZooKeeper状态:

./zkServer.sh status

参考文章

zk报错:找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain|Error contacting service

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Zookeeper启动失败可能有多种原因,以下是一些可能的解决方法: 1. 检查zookeeper配置文件 在启动zookeeper之前,需要确保zookeeper配置文件(zoo.cfg)正确。检查以下内容是否正确: - dataDir: 指定zookeeper存储数据的目录路径。 - clientPort: 指定zookeeper监听客户端连接的端口号。 - tickTime: 指定zookeeper使用的基本时间单元(以毫秒为单位)。 2. 检查端口是否被占用 如果zookeeper启动失败,可能是因为监听的端口已经被其他进程占用。可以使用以下命令检查端口是否被占用: ``` netstat -tulnp | grep <port> ``` 如果端口被占用,可以尝试更改zookeeper配置文件中的端口号,或者停止占用该端口的进程。 3. 检查日志文件 启动zookeeper时,它会在指定的日志文件中输出日志信息。通过查看日志文件,可以了解启动失败的原因。默认情况下,zookeeper日志文件位于zookeeper安装目录下的logs目录中。 4. 检查Java版本 zookeeper需要Java环境才能运行,因此需要确保Java版本符合zookeeper要求。可以使用以下命令检查Java版本: ``` java -version ``` 如果Java版本不符合要求,可以尝试安装正确的Java版本。 5. 检查zookeeper数据目录权限 zookeeper需要有足够的权限访问其数据目录。如果zookeeper启动失败,可以检查数据目录的权限是否正确。可以使用以下命令检查目录权限: ``` ls -ld <dataDir> ``` 如果权限不正确,可以使用以下命令更改目录权限: ``` chmod 777 <dataDir> ``` 以上是一些可能的解决方法,如果这些方法都无法解决问题,可以尝试搜索更多的解决方案,或者联系zookeeper的技术支持人员。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值