Zookeeper集群快速搭建
Zookeeper集群快速搭建
1.cd /usr/local/zookeeper/conf(如在192.168.212.101服务器)
mv zoo_sample.cfg zoo.cfg
修改conf: vi zoo.cfg 修改两处
(1) dataDir=/usr/local/zookeeper/data(注意同时在zookeeper创建data目录)
(2)最后面添加(基数台服务器)
server.0=192.168.212.101:2888:3888
server.1=192.168.212.102:2888:3888
server.2=192.168.212.103:2888:3888
Ip:心跳端口:通讯端口
2.创建服务器标识即myid
在dataDir 目录下创建myid文件,内容为0 ,对应server.0(如在192.168.212.101服务器)
3.复制zookeeper
将zookeeper复制到服务器192.168.212.102,192.168.212.103
并将myid修改对应的值
4.启动zookeeper
启动3台机器,命令:bash /usr/local/zookeeper/bin/zkServer.sh start
5.查看状态
bash /usr/local/zookeeper/bin/zkServer.sh status
就可以看到一个leader和两个follower
问题:
- 集群时,是不是配置server.0的机器就是leader ,其他为follower?
==》不一定,server.0,成为leader的可能性还是比较低的,除非server.0的事务是最新的,如果事务ID一样,有server.0,server.1,server.2这3个节点,依次启动server.1更可能成为leader
- 集群启动成功后,是不是follower的数据会被清除?
==》 不一定,会同步主的数据,如果数据一致并不会,如果他本来是leader,重启后变成follower,但有部分数据没有同步其他的节点(大多数节点),这时候follower会把多余的数据清空
3.如果只有两台zookeeper,当leader的机器A挂掉之后,那么follower机器B是不是不能变为leader?
==》只有两个节点,leader挂了,follower不会成为leader,而是整个集群都挂了
只有当leader机器A又重新启动成功之后,follower机器B又可以工作了。