问:zookeeper集群有哪些模式

zookeeper集群无非有三种搭建方式,一是单机模式、二是伪分布模式、三是分布式模式。


问:zookeeper集群中都有哪些角色

有三种角色,一是Leader角色,可以处理读写请求,集群中只能有一个Leader角色,二是Follower角色,只能处理读请求,同时也是Leader的候选节点,如果Leader节点挂了,Follower节点就可以选举为Leader节点,三是Observer节点,该节点只能处理读请求,不能参与Leader的选举。

keepalived集群模式 zookeeper 集群模式_zookeeper

问:zookeeper集群搭建方式

zookeeper集群搭建的具体步骤

  1. 首先我们下载zookeeper后有一个配置文件为zoo_sample.cfg,我们可以修改为zoo1.cfg这样更好记一些,然后我们编辑配置文件

dataDir=[保存数据的目录]
clientPort=[客户端连接zookeeper服务器的端口]
server.[数字表示第几台服务器]=[服务器的ip][服务器与集群中其他服务器通信的端口][表示如果Leader服务器挂了,用这个备用端口来进行选举][表示服务器的角色]

  1. 我这里配置好后就是一个集群的节点了,这里我们再将zoo1.cfg复制三个出来,表示另外三个集群节点,我这里是在一台机器上建立四个节点来搭建一个伪集群,真实的集群只要对应上ip地址和端口就可以了。

现在我们有四个cfg文件,分别为zoo1.cfg、zoo2.cfg、zoo3.cfg、zoo4.cfg,这四个文件只有clientPort不相同即可,因为客户端连接不同的服务器要有指定的端口号,这里我们在一台机器上搭建的伪集群,所以dataDir数据存储路径也应该设置为不同的。

  1. 这个时候我们来根据这四个配置文件来启动四个zookeeper实例。

这个时候我们会发现启动失败,因为需要我们设置标识ID,这个时候我们找到我们dataDir目录下,在我们的zookeeper1目录下新建一个myid文件,并且在里面写上1,然后在zookeeper2目录下也新建一个myid文件,并且在里面写上2,以此类推,然后我们再启动这四个配置文件。

keepalived集群模式 zookeeper 集群模式_keepalived集群模式_02


这个时候我们发现启动成功了,我们可以使用status命令来查看各个节点的角色情况。

keepalived集群模式 zookeeper 集群模式_keepalived集群模式_03


这个时候我们可以看到每个节点的角色了。