在一套之前5节点的ZooKeeper群集上重新搭建3节点的群集,直接修改了$ZOOKEEPER_HOME/conf 目录下的zoo.cfg文件,将如下部分:
server.1=Node1.master:2888:3888
server.2=Node2.secondary:2888:3888
server.3=Node3.slave1:2888:3888
server.4=Node4.slave2:2888:3888
server.5=Node5.slave3:2888:3888
改为了:
server.1=Node3.slave1:2888:3888
server.2= Node4.slave2:2888:3888
server.3=Node5.slave3:2888:3888
就打算启动了。结果zookeeper进程无法正常启动,于是想到在 $ZOOKEEPER_HOME/zkdata目录下是否存了一些上一个群集的残留信息。于是直接到该目录下执行
rm -rf *
完全删除(Node3.slave1,Node4.slave2,Node5.slave3三台全删)
之后再执行$ZOOKEEPER_HOME/bin/zkServer.sh start 依旧无法启动
于是执行 $ZOOKEEPER_HOME/bin/zkServer.sh start-foreground
[hadoop@Node3 conf]$ zkServer.sh start-foreground
ZooKeeper JMX enabled by default
Using config: /home/hadoop/app/zookeeper-3.4.8/bin/../conf/zoo.cfg
2016-09-06 19:19:51,254 [myid:] - INFO [main:QuorumPeerConfig@103] - Reading configuration from: /home/hadoop/app/zookeeper-3.4.8/bin/../conf/zoo.cfg
2016-09-06 19:19:51,282 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: Node5.slave3 to address: Node5.slave3/192.168.110.134
2016-09-06 19:19:51,282 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: Node4.slave2 to address: Node4.slave2/192.168.110.133
2016-09-06 19:19:51,284 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: Node3.slave1 to address: Node3.slave1/192.168.110.132
2016-09-06 19:19:51,284 [myid:] - INFO [main:QuorumPeerConfig@331] - Defaulting to majority quorums
2016-09-06 19:19:51,286 [myid:] - ERROR [main:QuorumPeerMain@85] - Invalid config, exiting abnormally
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing /home/hadoop/app/zookeeper-3.4.8/bin/../conf/zoo.cfg
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:123)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:101)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)
Caused by: java.lang.IllegalArgumentException: /home/hadoop/app/zookeeper-3.4.8/zkdata/myid file is missing
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:341)
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:119)
... 2 more
Invalid config, exiting abnormally
高亮处看出问题,正是我刚才清空的目录,由于刚用zookeepr不久,把myid这个重要的文件忽略了(这里面写着该节点在该群集的角色ID),于是touch一个新的,然后再启动
[hadoop@Node3 zkdata]$ zkServer.sh start-foreground
ZooKeeper JMX enabled by default
Using config: /home/hadoop/app/zookeeper-3.4.8/bin/../conf/zoo.cfg
2016-09-06 19:23:54,315 [myid:] - INFO [main:QuorumPeerConfig@103] - Reading configuration from: /home/hadoop/app/zookeeper-3.4.8/bin/../conf/zoo.cfg
2016-09-06 19:23:54,340 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: Node5.slave3 to address: Node5.slave3/192.168.110.134
2016-09-06 19:23:54,341 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: Node4.slave2 to address: Node4.slave2/192.168.110.133
2016-09-06 19:23:54,342 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: Node3.slave1 to address: Node3.slave1/192.168.110.132
2016-09-06 19:23:54,342 [myid:] - INFO [main:QuorumPeerConfig@331] - Defaulting to majority quorums
2016-09-06 19:23:54,347 [myid:] - ERROR [main:QuorumPeerMain@85] - Invalid config, exiting abnormally
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing /home/hadoop/app/zookeeper-3.4.8/bin/../conf/zoo.cfg
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:123)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:101)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)
Caused by: java.lang.IllegalArgumentException: serverid null is not a number
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:355)
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:119)
... 2 more
Invalid config, exiting abnormally
这就更蠢了。。。光touch了,没有写入任何内容(这些在首次配置zookeeper群集时需要手工配置的),vi,写入希望的数字,1。 之后Node4.slave2和Node5.slave3上如法炮制。
zookeeper可以正常启动了。
总结:
此次修改时,修改conf/zoo.cfg 文件这部分时没错的,但是忘记的myid文件中的内容没有修改,这应该是第一次zookeeper起不来的原因,因为zoo.cfg文件中和myid文件中的id对不上,所以失败。
之后清空目录就更错了。 做记录,重新认识了zoo.cfg和 -foreground
server.1=Node1.master:2888:3888
server.2=Node2.secondary:2888:3888
server.3=Node3.slave1:2888:3888
server.4=Node4.slave2:2888:3888
server.5=Node5.slave3:2888:3888
改为了:
server.1=Node3.slave1:2888:3888
server.2= Node4.slave2:2888:3888
server.3=Node5.slave3:2888:3888
就打算启动了。结果zookeeper进程无法正常启动,于是想到在 $ZOOKEEPER_HOME/zkdata目录下是否存了一些上一个群集的残留信息。于是直接到该目录下执行
rm -rf *
完全删除(Node3.slave1,Node4.slave2,Node5.slave3三台全删)
之后再执行$ZOOKEEPER_HOME/bin/zkServer.sh start 依旧无法启动
于是执行 $ZOOKEEPER_HOME/bin/zkServer.sh start-foreground
[hadoop@Node3 conf]$ zkServer.sh start-foreground
ZooKeeper JMX enabled by default
Using config: /home/hadoop/app/zookeeper-3.4.8/bin/../conf/zoo.cfg
2016-09-06 19:19:51,254 [myid:] - INFO [main:QuorumPeerConfig@103] - Reading configuration from: /home/hadoop/app/zookeeper-3.4.8/bin/../conf/zoo.cfg
2016-09-06 19:19:51,282 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: Node5.slave3 to address: Node5.slave3/192.168.110.134
2016-09-06 19:19:51,282 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: Node4.slave2 to address: Node4.slave2/192.168.110.133
2016-09-06 19:19:51,284 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: Node3.slave1 to address: Node3.slave1/192.168.110.132
2016-09-06 19:19:51,284 [myid:] - INFO [main:QuorumPeerConfig@331] - Defaulting to majority quorums
2016-09-06 19:19:51,286 [myid:] - ERROR [main:QuorumPeerMain@85] - Invalid config, exiting abnormally
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing /home/hadoop/app/zookeeper-3.4.8/bin/../conf/zoo.cfg
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:123)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:101)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)
Caused by: java.lang.IllegalArgumentException: /home/hadoop/app/zookeeper-3.4.8/zkdata/myid file is missing
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:341)
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:119)
... 2 more
Invalid config, exiting abnormally
高亮处看出问题,正是我刚才清空的目录,由于刚用zookeepr不久,把myid这个重要的文件忽略了(这里面写着该节点在该群集的角色ID),于是touch一个新的,然后再启动
[hadoop@Node3 zkdata]$ zkServer.sh start-foreground
ZooKeeper JMX enabled by default
Using config: /home/hadoop/app/zookeeper-3.4.8/bin/../conf/zoo.cfg
2016-09-06 19:23:54,315 [myid:] - INFO [main:QuorumPeerConfig@103] - Reading configuration from: /home/hadoop/app/zookeeper-3.4.8/bin/../conf/zoo.cfg
2016-09-06 19:23:54,340 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: Node5.slave3 to address: Node5.slave3/192.168.110.134
2016-09-06 19:23:54,341 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: Node4.slave2 to address: Node4.slave2/192.168.110.133
2016-09-06 19:23:54,342 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: Node3.slave1 to address: Node3.slave1/192.168.110.132
2016-09-06 19:23:54,342 [myid:] - INFO [main:QuorumPeerConfig@331] - Defaulting to majority quorums
2016-09-06 19:23:54,347 [myid:] - ERROR [main:QuorumPeerMain@85] - Invalid config, exiting abnormally
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing /home/hadoop/app/zookeeper-3.4.8/bin/../conf/zoo.cfg
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:123)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:101)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)
Caused by: java.lang.IllegalArgumentException: serverid null is not a number
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:355)
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:119)
... 2 more
Invalid config, exiting abnormally
这就更蠢了。。。光touch了,没有写入任何内容(这些在首次配置zookeeper群集时需要手工配置的),vi,写入希望的数字,1。 之后Node4.slave2和Node5.slave3上如法炮制。
zookeeper可以正常启动了。
总结:
此次修改时,修改conf/zoo.cfg 文件这部分时没错的,但是忘记的myid文件中的内容没有修改,这应该是第一次zookeeper起不来的原因,因为zoo.cfg文件中和myid文件中的id对不上,所以失败。
之后清空目录就更错了。 做记录,重新认识了zoo.cfg和 -foreground
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22128702/viewspace-2124644/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22128702/viewspace-2124644/