热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

总结一些zookeeper安装遇到的问题(一)

1.启动zookeeper后出现noClassFound等等错误,例如:Exceptioninthread“main”Java.lang.NoSuchMethodError:met

1. 启动zookeeper后出现noClassFound等等错误,例如:

Exception in thread “main”Java.lang.NoSuchMethodError: method java.lang.management.ManagementFactory.getPlatformMBeanServer with signature ()Ljavax.management.MBeanServer; was not found.

at org.apache.zookeeper.jmx.ManagedUtil.registerLog4jMBeans(ManagedUtil.java:48)

at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:114)

at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:103)

at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:7

可能原因是该服务器的jdk版本不正确,或是环境变量未设置好。

例如,原来的Linux下已经装有jdk-1.4,然后又安装了新版本的jdk-1.6,我们按照网上教程的步骤安装好zookeeper并设置环境变量后,

echo $JAVA_HOME显示java-1.6,

但是用java -version命令发现,仍然显示java-1.4,说明环境变量未配好。zookeeper读取的jdk版本仍然是旧版本的jdk-1.4。

解决方法是在/etc/bashrc文件的末尾,

export JAVA_HOME=/usr/java/jdk1.6.0_23

export JRE_HOME=$JAVA_HOME/jre

export PATH=$JAVA_HOME/bin:$PATH

//这里要注意,应该将$PATH放在尾部而不是放在头部,网上有安装教程写的是$PATH :$JAVA_HOME/bin,这样zookeeper读取的将是$PATH中的jdk旧版本而出错。

export CLASSPATH=.:$JAVA_HOME/lib/*.jar

2. 当一台或某台机器反复出现cannot open channel to xxxx:2888/3888,报错(例如无法与leader进行同步等等错误),无法完成选举(这个错误以前一直有出现,但是时有时无,不知道为什么)。

可能原因是防火墙开启,导致某台机器的端口不能开启,一般是2888不能开启。linux下的很多分布式应用会要求关闭防火墙。。。所以还是干脆关闭算了。今天把防火墙直接关闭后zookeeper启动正常。

用命令service iptables status查看,显示一系列消息,表示防火墙处于开启状态;可以用service iptables stop关闭防火墙。但是这个只是临时关闭防火墙。

要使系统启动时不自动启动防火墙,则可以使用命令chkconfig –list iptables查看防火墙信息,chkconfig iptables off关闭防火墙。以后若要打开,用chkconfig iptables on命令。

—

ps今天早上来看发现防火墙又开启了,貌似不管用。还是用以下三条命令关闭。

chkconfig –level 35 iptables off ; /etc/init.d/iptables stop; iptables -P INPUT DROP

3. Zookeeper能够正常启动,但是显示如下错误:

Starting zookeeper…

./zkServer.sh: line 80: /home /sysdata/zookeeper/zookeeper-data/zookeeper_server.pid: No such file or directory

STARTED

在配置文件zoo.cfg文件中指定了zookeeper启动的pid文件的生成位置:dataDir=/home /sysdata/zookeeper/zookeeper-data,但是我们发现该pid并没有生成。而且想要停止zookeeper显然也不能成功:

Stoppingzookeeper …

error: could not find file /zookeeper_server.pid。

请教大牛之后,这个让我头疼很久的问题,终于解决了。。。

原来是我的zoo.cfg文件中的给dataDir路径赋值前多了一个空格!zookeeper在读取此配置文件时会把空格也读进文件名(脚本咋这不智能呢),将此空格删去后zookeeper启动、关闭就正常了!

zoo.cfg文件很不智能,还有就是注释的时候#后边还得加一个空格


推荐阅读
  • 介绍怎样在IntellijIdea中通过创建mavenproject配置MapReduce的编程环境。一、软件环境我使用的软件版本号例如以下:IntellijIdea2017.1M ... [详细]
  • 学习mybatis的基础知识:mybatis入门教程(二)
    2019独角兽企业重金招聘Python工程师标准2.3MyBatisprintsql在log4j.properties配置文件中添加如下配置,让mybatis打 ... [详细]
  • Spring入门第十讲——Hibernate5.0.7+Struts2.3.24+Spring4.2.4三大框架整合开发
    回顾SSH框架至此,Hibernate-5.0.7、Struts-2.3.24和Spring-4.2.4这三个框架,我们已经都过了一遍了。现在,咱就要 ... [详细]
  • 基本信息|根源_SpringBoot 监控统计:SQL监控慢SQL记录Spring监控去广告
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了SpringBoot监控统计:SQL监控慢SQL记录Spring监控去广告相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文介绍了如何清除Eclipse中SVN用户的设置。首先需要查看使用的SVN接口,然后根据接口类型找到相应的目录并删除相关文件。最后使用SVN更新或提交来应用更改。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • HBase系列之hbase2.2.3安装
    1.下载地址hbase-2.2.3下载地址2.解压安装1)解压tarzxvfhbase-2.2.3-bin.tar.gz2)环境变量配置vim ... [详细]
  • springboot dubbo框架中log4j与slf4jlog4j12日志冲突问题的解决方法
    在基于springboot开发项目中,使用dubbo的RPC框架进行业务拆分,出 ... [详细]
  • Hbase 进阶
    一、RegionServer架构1)StoreFile保存实际数据的物理文件,StoreFile以Hfile的形式存储在HDFS上。每个Store会有一 ... [详细]
  • SpringCloud之eureka注册中心入门
    eureka注册中心一、基本概念SpringCloud封装了Netflix公司的eureka作为自己微服务的注册中心。这个注册中心和dubbo中的zookeeper很相似,简单来说 ... [详细]
  • springboot日志【转】【补】
     市面上的日志框架日志门面(日志的抽象层)日志实现JCL(JakartaCommonsLogging)(2014)SLF4j(SimpleLoggingFacadeforJava) ... [详细]
  • springboot项目组引入JMeter的实现步骤
    本文主要介绍了springboot项目组引入JMeter的实现步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的 ... [详细]
author-avatar
伊倓
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有