自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Zookeeper問題集

企業(yè)動態(tài)
今天講一講關于Zookeeper的問題、原因以及解決方法。

1.啟動zookeeper后出現(xiàn)noClassFound等等錯誤,例如:

  1. Exception in thread "main" java.lang.NoSuchMethodError: method java.lang.management.ManagementFactory.getPlatformMBeanServer with signature ()Ljavax.management.MBeanServer; was not found. 
  2.     at org.apache.zookeeper.jmx.ManagedUtil.registerLog4jMBeans(ManagedUtil.java:48) 
  3.     at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:114) 
  4.     at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:103) 
  5.     at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:7 

可能原因是該服務器的jdk版本不正確,或是環(huán)境變量未設置好。

例如,原來的linux下已經(jīng)裝有jdk-1.4,然后又安裝了新版本的jdk-1.6,我們按照網(wǎng)上教程的步驟安裝好zookeeper并設置環(huán)境變量后,

echo $JAVA_HOME顯示java-1.6,

但是用java -version命令發(fā)現(xiàn),仍然顯示java-1.4,說明環(huán)境變量未配好。zookeeper讀取的jdk版本仍然是舊版本的jdk-1.4。

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

  1. export JAVA_HOME=/usr/java/jdk1.6.0_23 
  2. export JRE_HOME=$JAVA_HOME/jre 
  3. export PATH=$JAVA_HOME/bin:$PATH 
  4. //這里要注意,應該將$PATH放在尾部而不是放在頭部,網(wǎng)上有安裝教程寫的是$PATH :$JAVA_HOME/bin,這樣zookeeper讀取的將是$PATH中的jdk舊版本而出錯。 
  5. export CLASSPATH=.:$JAVA_HOME/lib/*.jar 

2.當一臺或某臺機器反復出現(xiàn)cannot open channel to xxxx:2888/3888,報錯(例如無法與leader進行同步等等錯誤),無法完成選舉(這個錯誤以前一直有出現(xiàn),但是時有時無,不知道為什么)。

[[178933]]

可能原因是防火墻開啟,導致某臺機器的端口不能開啟,一般是2888不能開啟。linux下的很多分布式應用會要求關閉防火墻。。。所以還是干脆關閉算了。今天把防火墻直接關閉后zookeeper啟動正常。

用命令service iptables status查看,顯示一系列消息,表示防火墻處于開啟狀態(tài);可以用service iptables stop關閉防火墻。但是這個只是臨時關閉防火墻。

要使系統(tǒng)啟動時不自動啟動防火墻,則可以使用命令chkconfig –list iptables查看防火墻信息,chkconfig iptables off關閉防火墻。以后若要打開,用chkconfig iptables on命令。

ps今天早上來看發(fā)現(xiàn)防火墻又開啟了,貌似不管用。還是用以下三條命令關閉。

  1. chkconfig --level 35 iptables off 
  2. /etc/init.d/iptables stop 
  3. iptables -P INPUT DROP 

3. Zookeeper能夠正常啟動,但是顯示如下錯誤:

  1. Starting zookeeper… 
  2. ./zkServer.sh: line 80: /home /sysdata/zookeeper/zookeeper-data/zookeeper_server.pid: No such file or directory 
  3. STARTED 

在配置文件zoo.cfg文件中指定了zookeeper啟動的pid文件的生成位置:dataDir=/home /sysdata/zookeeper/zookeeper-data,但是我們發(fā)現(xiàn)該pid并沒有生成。而且想要停止zookeeper顯然也不能成功:

  1. Stopping zookeeper ... 
  2. error: could not find file /zookeeper_server.pid。 

請教大牛之后,這個讓我頭疼很久的問題,終于解決了。。。

原來是我的zoo.cfg文件中的給dataDir路徑賦值前多了一個空格!zookeeper在讀取此配置文件時會把空格也讀進文件名(腳本咋這不智能呢),將此空格刪去后zookeeper啟動、關閉就正常了!

轉(zhuǎn)載:http://www.aboutyun.com/thread-7483-1-1.html

4、Zookeeper:“Error contacting service. It is probably not running.”

問題:

Zookeeper配置集群后,啟動會報“Error contacting service. It is probably not running.”

原因:

1、上一次啟動時port被占用

  1. [root@test58 bin]# netstat -ptnl |grep 2181 
  2. tcp 0 0 :::2181 :::* LISTEN 9907/java 

2、只啟動了一臺zk,沒辦法形成集群

3、集群之間的節(jié)點通信不了

解決:

  • 殺死已經(jīng)存在的進程
  • 啟動集群的其他機器
  • 查找不能通信的原因(防火墻,zk配置文件等)

5、zookeeper的API報錯問題

問題:

  1. KeeperErrorCode=ConnectionLoss for /servers 

原因:

api中連接zookeeper的時候使用的ip,如:192.168.111.111,而不是域名,如:zk1,在大數(shù)據(jù)生態(tài)圈的api中,對ip的支持并不是很好,所以一般建議使用域名,使用ip會出現(xiàn)奇怪的bug。

解決:

將ip修改為域名

【本文為51CTO專欄作者“王森豐”的原創(chuàng)稿件,轉(zhuǎn)載請注明出處】

責任編輯:趙寧寧 來源: 神算子
相關推薦

2016-12-14 15:59:31

HBase分布式數(shù)據(jù)

2016-12-19 15:32:12

Linux問題集

2016-12-19 19:04:30

Hive問題集

2016-12-13 16:36:15

Hadoopwindows

2011-03-28 17:51:10

nagios

2013-11-22 09:57:03

hadoop1.2.1zookeeper-3hbase-0.94.

2010-03-25 16:20:44

CentOS安裝

2011-02-22 14:21:49

vsftpd

2009-10-09 17:40:38

VB.Net問題集

2011-02-25 14:25:04

Proftpd

2011-02-22 14:40:25

vsftpd

2018-07-12 09:25:07

磁盤陣列數(shù)據(jù)恢復

2020-10-27 11:50:53

運維Zookeeper腦裂

2019-11-29 11:12:56

Zookeeper腦裂選舉算法

2009-07-01 00:23:40

MySQL字符集亂碼

2009-12-31 15:28:02

Silverlight

2011-03-03 13:41:36

Pureftpd防火墻

2011-05-16 13:15:55

MySQL存儲字符集

2011-03-03 14:26:15

PureftpdSSHFTP

2022-09-02 08:33:23

ZooKeeper分布式
點贊
收藏

51CTO技術棧公眾號