一、背景
最近我在学习 Kafka,因此记录下在 Mac 上搭建 Kafka 集群的步骤。
二、软件安装
由于 Kafka 依赖于 ZooKeeper,因此首先需要安装 ZooKeeper。此外,Kafka 是使用 Scala 编写的,而 Scala 也依赖于 JDK,因此需要先安装 JDK。
推荐使用 JDK 8 及以上版本,具体的 JDK 安装步骤这里就不再详细说明。接下来,将在本机上搭建一个包含三个节点的 ZooKeeper 伪集群,并在本地构建一个包含三个节点的 Kafka 集群。
三、安装步骤
1、搭建一个包含三个节点的 ZooKeeper 伪集群。
配置内容包括:IP、客户端连接端口、集群选举接口、集群原子广播接口以及 server.id 中的节点名称,后者目前未使用,需配置在 hosts 文件中。

注意:
server.id 的配置需要在 zoo.cfg 配置文件指定的 dataDir 目录中创建 myid 文件来指定。
1、下载 ZooKeeper 安装包。
2、解压三份,并放置在 ZooKeeper 目录中。

3、修改 ZooKeeper 配置文件,以 zk01 为例。
将 conf 目录下的 zoo_sample.cfg 文件重命名为 zoo.cfg。

接下来,编辑 zoo.cfg 配置文件。

注意:
此处以 zk01 为例进行配置,由于在本地启动多个实例,因此需要修改端口号,并确保每个服务器的 myid 文件值唯一且不同。同时,dataDir 的路径也需相应修改。其余配置可根据实际情况进行调整。
启动三个 ZooKeeper 节点:
分别进入 zk01/Bin、zk02/Bin、zk03/Bin 目录,执行以下命令:
./zkServer.sh –config ../conf start 连接到 ZooKeeper 集群。
./zkCli.sh -server 127.0.0.1:2181,127.0.0.1:3181,127.0.0.1:4181 2、搭建一个包含三个节点的 Kafka 集群。

注意:
broker.id 的值必须唯一且为数字。
1、下载 Kafka。
https://www.apache.org/dyn/closer.cgi?path=/kafka/2.6.0/kafka_2.13-2.6.0.tgz
2、解压三份,并放置到 Kafka 目录中。

3、修改 server.properties 文件,以 kafka01 为例。
需要修改的属性,以 kafka01 为例,不同节点的配置需具体调整。

4、启动三个 Kafka 节点。
依次进入 kafka01/Bin、kafka02/Bin、kafka03/Bin 目录,执行以下命令:
./kafka-server-start.sh ../config/server.properties &
5、Kafka 测试。
以 kafka01 为例:
1、创建一个主题:
Bin/kafka-topics.sh –create –topic test-001 –replication-factor 1 –partitions 1 –bootstrap-server 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094

2、查看主题信息:
Bin/kafka-topics.sh –describe –bootstrap-server 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094 –topic test-001

3、向创建的主题发布一条信息:
Bin/kafka-console-producer.sh –topic test-001 –bootstrap-server 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094

4、读取刚刚发布的消息:
Bin/kafka-console-consumer.sh –topic test-001 –from-beginning –bootstrap-server 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094

至此,一个简单的可用 Kafka 集群已经搭建完成。
