虚拟机Zookeeper集群配置

Zookeeper集群配置


1、将Zookeeper压缩包解压到自己想要的安装的路径下。然后为了方便后续配置信息,可以重命名为zookeeper345文件。因为我下载的是3.4.5的版本。

虚拟机Zookeeper集群配置
2、然后我们需要在zookeeper345的统计目录下创建一个目录为zookeeper,用于创建zookeeper的软连接。就好比在windows系统下安装一个软件,创建一个快件方式一样。

  • ln -s zookeeper345/ zookeeper/

3、之后我们在刚刚创建的zookeeper目录下面再创建一个zkdata目录。
虚拟机Zookeeper集群配置
4、下一步我们需要修改zookeeper配置文件,进入之前压缩并重名的zookeerper345这个目录里面的conf目录里面,会有一个zoo.sample.cfg文件,该文件就是配置文件,需要我们修改里面的配置信息,再修改之前我们可以将其重命名一下,重命名为zoo.cfg,也是为了后面方便配置。

虚拟机Zookeeper集群配置
5、编辑该配置文件,如图以下内容。
虚拟机Zookeeper集群配置

6、在zkdata目录下创建一个myid文件,将当前host下对应的服务器编号写入该文件当中。
虚拟机Zookeeper集群配置
7、然后为zookeeper配置环境变量,配置完后**环境变量

  • vi /etc/profile
  • source /etc/profile
    虚拟机Zookeeper集群配置

8、当我们把环境变量和zookeeper配置文件配置完成后,可以通过远程拷贝将装有安装好的zookeeper345这个目录的上一级目录hadoop打包,分别远程拷贝给其他集群节点,然后进入到各个节点的myid文件中,将服务器编号改成当前host的服务器编号。如vmone节点的服务器编号为2。而环境变量profile只要远程拷贝就可以了,无需修改。
虚拟机Zookeeper集群配置
9、环境变量和配置文件拷贝并完成修改各个服务器编号后,就可以启动各个机器上的zookeeper服务。然后查看服务状态。

  • 启动服务:zkServer.sh start
  • 查看服务状态:zkServer.sh status

虚拟机Zookeeper集群配置
当我们查看第一台服务器状态的时候,查看状态为follow,因为zookeeper集群有一个选举制度,选择哪一个服务器为leader。选举的规则如下:

  • 首先集群的每个服务器都会自己给自己投一票,然后再分别给其他服务器投一票。当哪个服务器的票数超过服务器个数一半时,那个服务器就是leader。所以,可以这么理解,因为集群里面的服务器个数是我们自己人为设定的,当我们为每个服务器一个一个开启zookeeper时,超过集群数量一半的那个服务器开启时,它就是leader,其余的都是follower。
    虚拟机Zookeeper集群配置
  • 如果leader死掉,那lead后的一个服务器为成为leader。同样还是遵循票数过半的原则。

虚拟机Zookeeper集群配置
因为小编一共开启了4个服务器,分别为vmmaster、vmone、vmtwo、vmthree,根据票数过半的原则,所以vmtwo会成为leader,而其他服务器都是follower。