当前位置: 首页 > article >正文

谨慎Apache-Zookeeper-3.5.5以后在CentOS7.X安装的坑

目录

前言

一、现场还原

 二、问题诊断

三、问题原因

 总结


前言

        最近由于项目需要,在服务器上需要搭建Hbase完全分布式集群环境。开发环境,采用的是最小节点的方式进行搭建(即3个节点的模式)。资源环境列表如下:

序号依赖组件说明
1jdk-8u201-linux-x64.tar.gz基础的jdk依赖
2hadoop-3.1.3.tar.gzhadoop依赖
3apache-zookeeper-3.5.7.tar.gzzookeeper协调器
4hbase-2.4.11-bin.tar.gzhbase数据库

        以上组件都部署在三台不同的物理机节点中,操作系统是centos7.X。本场景zookeeper用于为hbase提供外部的协调器,而不是采用Hbase内置的Zookeeper。众所周知,zookeeper依赖于jdk,需要进行提前安装并配置好相应的环境变量。本文重点在于讲解zookeeper的问题,因此关于jdk的安装请查询相关网关可以解决。

        闲言少叙,本文主要讲解在Centos7中,JDK正确安装及配置,系统防火墙也正常配置,但Zookeeper无法启动的一种可能问题,及主要的解决方案。这里也得到一个博主的帮助,再此记录,如果有朋友遇到类似的问题,能帮助您解决相应的问题。

一、现场还原

        当在目标服务器中,进入zookeeper的启动目录中,准备启动zookeeper,命令如下:

cd /software/zookeeper/bin/
./zkServer.sh start

        上述命令执行之后,zookeeper并没有正常启动。在窗口中看到如下结果:

ZooKeeper JMX enabled by default
Using config: /software/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... FAILED TO START

         进一步的,使用zookeeper的状态查看命令:

./zkServer.sh status

        将看到下面的执行结果:

ZooKeeper JMX enabled by default
Using config: /software/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.

 二、问题诊断

        相信很多同学在看到以上的错误后,多半都会直接复制这个报错信息去搜索引擎一顿狂搜,我一度也这么干过(很容易被误导):

Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.

         打开这些文章,如果已经解决您的问题,那么您可以不用看下去了。因为我在看了这些文章,问题依然存在。通常来说,可能会有问题都是以下几点:

        1、防火墙没有关

        2、jdk没有正确安装

        3、zoo.cfg配置文件有误

但很不幸,这些都确认没有问题。

        首先jdk已配置(java -version),防火墙查看命令:systemctl status firewalld

         其次防火墙已经关闭(如果没有关闭可执行:systemctl stop firewalld),zoo.cfg配置确认没有冲突没有问题。

        看到这里,还有一个办法,实际去看一下zookeeper的运行日志,我们找到zookeeper的logs目录,通过一下命令查看日志:

cd /logs
cat zookeeper-root-server-master.out

 此时,真正的问题才开始显示出来:

 报错信息如下:

找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain

到这里,再确认一下您下载zookeeper的版本,是不是apache-zookeeper-3.5.5以后的版本,如果您刚好是用的3.5.5以后的版本,那么请再检查一下,压缩包是不是不带bin。

三、问题原因

        其实出现这个问题的原因并不是我们配置的问题,而是我们下载软件的问题。也是在各种安装教程非常多的情况下(而且都是介绍3.5.5以前的版本安装的),大家以为下载的包是一样的,因此就忽略这个最基础的问题。找到问题后就很容易解决了,下载带bin的包即可。

        其实Zookeeper官网上是有介绍的,不同版本的更新日志,只是大家没有仔细去看,当然这个粗心的人也包括作者本人。

        打开zookeeper官网介绍:

        相信大家一定都没注意吧,如果经历过各种无效的,真的比较崩溃就权当是一种教训吧。一定要下以下红框中的版本。

         可以看到,带bin的包比不带bin的要大一下。将下载的包重新安装就好了。启动服务后可以看到正常。

 总结

        以上就是本文的主要内容,本文主要讲解在Centos7中,JDK正确安装及配置,系统防火墙也正常配置,但Zookeeper无法启动的一种可能问题及解决办法,希望可以帮助你解决困境。

参考博客:

1、zookeeper-3.5.5安装报错:找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain-新版本zookeeper易犯错误

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


http://www.kler.cn/news/150283.html

相关文章:

  • 数据结构中的二分查找(折半查找)
  • vue+el-tooltip 封装提示框组件,只有溢出才提示
  • Findreport中框架图使用的注意事项
  • [原创][2]探究C#多线程开发细节-”线程的无顺序性“
  • c++实现程序单例运行的两种方式
  • Azure Machine Learning - 创建Azure AI搜索索引
  • Spring-AOP与声明式事务
  • Linux socket编程(8):shutdown和close的区别详解及例子
  • 《尚品甄选》:后台系统——分类品牌和规格管理(debug一遍)
  • Docker容器网络模式
  • PHP如何实现邮箱验证
  • Android控件全解手册 - 多语言切换完美解决方案(兼容7.0以上版本)
  • 找不到 sun.misc.BASE64Decoder ,sun.misc.BASE64Encoder 类
  • ESP32-Web-Server 实战编程- 使用 AJAX 自动更新网页内容
  • pytest分布式执行(pytest-xdist)
  • rabbitmq-server-3.11.10.exe
  • 基于opencv+ImageAI+tensorflow的智能动漫人物识别系统——深度学习算法应用(含python、JS、模型源码)+数据集(三)
  • Linux CentOS7 fdisk
  • 面试题:Spring 中获取 Bean 的方式有哪些?
  • 如何生成唯一ID:探讨常用方法与技术应用
  • 运维知识点-openResty
  • 代码随想录-刷题第七天
  • element table滚动到底部加载数据(vue3)
  • C语言进阶指南(11)(指针数组与二维数组)
  • 拉普拉斯变换
  • 字母大小写转换
  • PHP微信UI在线聊天系统源码 客服私有即时通讯系统 附安装教程
  • kafka C++实现生产者
  • MYSQL基础语法二
  • 48、Flink DataStream API 编程指南(1)- DataStream 入门示例