2.1.3 部署ZooKeeper的集群模式
将在kafka101、kafka102、kafka103的虚拟机上部署ZooKeeper的集群模式。首先在kafka101虚拟机上进行配置,然后通过scp命令将配置好的ZooKeeper目录复制到kafka102和kafka103虚拟机上。具体步骤如下所示。
修改kafka101的虚拟机上的zoo.cfg文件,完整的内容如下。
这里在配置文件中增加了两个ZooKeeper节点,即server.2和server.3。它们分别位于kafka102和kafka103的虚拟机上。
在kafka101的虚拟机上,把配置好的ZooKeeper目录复制到kafka102和kafka103的虚拟机上,执行下面的命令。
在执行scp命令的时候,需要允许远程连接主机,并输入远端主机的root用户密码,如下所示。
在kafka102和kafka103的虚拟机上设置ZooKeeper的环境变量,编辑文件~/.bash_profile。
在kafka102和kafka103的虚拟机上生成ZooKeeper的环境变量。
将kafka102的虚拟机上myid文件的内容修改为2;将kafka103的虚拟机上myid文件的内容修改为3,如图2.2所示。
图2.2 修改kafka102和kafka103上的myid文件
(1)在每台主机上执行zkServer.sh start命令,启动ZooKeeper Server集群,如图2.3所示。
图2.3 启动ZooKeeper集群
(2)在每台主机上执行zkServer.sh status命令,查看ZooKeeper集群中每个节点的状态,如图2.4所示。
图2.4 查看ZooKeeper集群的节点状态
这里可以看到,ZooKeeper集群通过选举机制将kafka103的虚拟机上的Server选举为Leader;而kafka101和kafka102的虚拟机上的Server选举为Follower。
ZooKeeper集群部署完成后,可以使用ZooKeeper的命令工具来进行操作,其用法与在ZooKeeper Standalone模式下的用法完全一样,这里就不再介绍了。