在我规划的Hadoop226上启动Zookeeper
zkServer.sh start
显示内容如下:
Using config: /home/hadoop/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
看看有没有QuorumPeerMain进程
jps
显示内容如下:
1584 Jps
What,怎么没有显示,看看运行状态:
zkServer.sh status
显示内容如下:
ZooKeeper JMX enabled by default
Using config: /home/hadoop/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.
根本没有运行啊,咋回事?
看看日志去:
cat /home/hadoop/zookeeper/logs/zookeeper-hadoop-server-hadoop231.out
显示内容如下:
......
java.lang.RuntimeException: My id 1 not in the peer list
at org.apache.zookeeper.server.quorum.QuorumPeer.start(QuorumPeer.java:903)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:205)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:123)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:82)
主要是这一句:
My id 1 not in the peer list
原来是修改服务器对应的“myid”了。
用hadoop用户执行下述命令,在226-228上分别执行下列命令:
echo 226 > /home/hadoop/data/zkdata/myid #hadoop226上执行这个命令
echo 227 > /home/hadoop/data/zkdata/myid #hadoop227上执行这个命令
echo 228 > /home/hadoop/data/zkdata/myid #hadoop228上执行这个命令
再次启动Zookeeper
zkServer.sh start
正常了。