zookeeper集群的配置

zookeeper-3.4.6(安装在/opt/zookeeper/的目录下,并创建data目录,以hadoopnamenode为例)

集群的ip:192.168.241.130 hadoopnamenode

 192.168.241.131 hadoopdatanode1

  192.168.241.132 hadoopdatanode2

1、配置:

tickTime=2000
dataDir=/opt/zookeeper/data
clientPort=2181
initLimit=5(表示的是5个tickTime时间,即为10s)
syncLimit=2
server.1=hadoopnamenode:2888:3888
server.2=hadoopdatanode1:2888:3888
server.3=hadoopdatanode2:2888:3888

2、将配置好的zookeeper的目录复制到hadoopdatanode1和hadoopdatanode2上

3、设置myid

hadoopnamenode上:echo "1">/opt/zookeeper/data/myid

hadoopdatanode1上:echo "2">/opt/zookeeper/data/myid

hadoopdatanode2上:echo "3">/opt/zookeeper/data/myid

4、进入zookeeper的目录(/opt/zookeeper/zookeeper-3.4.6)

开启./bin/zkServer.sh start (这里是要一台一台的开启,不像hadoop集群那样一台开启就可以了)

关闭:./bin/zkServer.sh stop

5、测试:

在每一台机子上执行./bin/zkServer.sh status查看他们的状态是level 还是follower

[root@hadoopdatanode1 zookeeper-3.4.6]# ./bin/zkServer.sh status
JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower

[root@hadoopnamenode zookeeper-3.4.6]# ./bin/zkServer.sh status
JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower

[root@hadoopdatanode2 zookeeper-3.4.6]# ./bin/zkServer.sh status
JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: leader

6、注意事项:

对于一个包含3台server的Zookeeper集群,最多容许关闭一台(如果被关闭的是leader,则会重新选举出一个)。如果关闭两台,则剩下那台虽然进程QuorumPeerMain还在,但zkServer.sh status查看状态则显示Error contacting service. It is probably not running。

对于一个包含5台server的Zookeeper集群,最多容许关闭两台。关闭三台,则剩下两台虽然进程QuorumPeerMain还在,但也显示同样的错误。

(如果这个时候用Java程序去连接Hbase,则会提示:org.apache.hadoop.hbase.ZooKeeperConnectionException: Can't connect to ZooKeeper)

这里面有两个常见的疑问:

1) 当3台server关闭一台时,只剩下两台时,无法形成majority,那么它是如何选举出leader的?

2) 当5台server关闭三台时,剩下两台,为什么不能像1)中一样仍然正常工作?

这两个问题的答案是同一个,Zookeeper中的所谓majority voting机制,其majority是针对原始的server数量,不是指变化后的数量,这个原始的数量即你配置在zoo.cfg中的server个数。 

还有一个常见的问题是为什么推荐使用奇数个Zookeeper server,那是因为3个server与4个server能够提供的可靠性是一样的,3台server的集群允许其中一台server宕机,而4台server的集群也只能容许其中一台server宕机,因为如果两台server宕机,那么剩下两台,对比于原来的4台,2/4不够成大多数。

结语:接下来就可以安装hbase了,或者kafka等等。。。

 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值