Kafka进阶
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

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模式下的用法完全一样,这里就不再介绍了。