1. 环境准备

在搭建 Kafka 集群之前,我们需要准备以下环境:

1.1 服务器:至少需要 3 台服务器来搭建 Kafka 集群,可以使用物理服务器或者虚拟机;

1.2 Java 环境:Kafka 是由 Java 开发的,所以需要提前安装 Java 环境;

1.3 Kafka 安装包:下载合适版本的 Kafka 安装包,解压到各个服务器上。

2. 修改配置文件

配置文件位于 Kafka 安装包解压后的 config 目录下,修改以下属性:

2.1 server.properties:在每个服务器上都需要修改该文件,在此文件中需要注意以下几个配置:

# Broker的唯一标识,每个Broker需要配置不同的id
broker.id=0

# 与zookeeper集群的连接地址
zookeeper.connect=server1:2181,server2:2181,server3:2181

# 本机的主机名和可访问的Ip地址
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://your_host_name:9092
Shell

2.2 zookeeper.properties:在 zookeeper 集群中,需要修改该文件,在每个服务器上都需要修改,配置如下:

# zookeeper服务器的地址,需要配置所有zookeeper服务器的地址
server.1=server1:2888:3888
server.2=server2:2888:3888
server.3=server3:2888:3888
Shell

3. 启动 Kafka 集群

在所有服务器上完成配置文件修改后,按以下步骤启动 Kafka 集群:

3.1 启动 zookeeper 集群:在 zookeeper 集群中的每个服务器上,依次启动 zookeeper 服务,命令如下:

bin/zookeeper-server-start.sh config/zookeeper.properties
Shell

3.2 启动 Kafka 集群:在 Kafka 集群的每个服务器上,依次启动 Kafka 服务,命令如下:

bin/kafka-server-start.sh config/server.properties
Shell

3.3 验证集群搭建结果:在任意一台服务器上,执行以下命令验证 Kafka 集群是否搭建成功:

bin/kafka-topics.sh --zookeeper server1:2181,server2:2181,server3:2181 --create --topic test --partitions 3 --replication-factor 3
bin/kafka-topics.sh --zookeeper server1:2181,server2:2181,server3:2181 --list
Shell

以上命令将创建一个名为 test 的 topic 并查看所有 topic 的列表,如果成功返回结果,则说明 Kafka 集群搭建成功。