kafka安装与集群搭建测试指南

Kafka 集群环境搭建的简明步骤总结(假设已安装 Java 环境):


1. 解压文件

下载 Kafka 并解压到指定目录(以 3.7.0 版本为例):

1
2
3
4
5
cd /opt
wget https://downloads.apache.org/kafka/3.7.0/kafka_2.12-3.7.0.tgz
tar -xzf kafka_2.12-3.7.0.tgz
mv kafka_2.12-3.7.0 kafka
cd kafka

2. 修改配置文件

集群版配置

  • 修改 config/server.properties
    1
    2
    3
    4
    broker.id=1            # 集群中每台机器需不同(如 0,1,2)
    listeners=PLAINTEXT://当前机器IP:9092 # 绑定本机 IP 或域名
    log.dirs=/data/kafka-logs # 生产环境建议修改存储路径(非 /tmp)
    zookeeper.connect=zk1:2181,zk2:2181,zk3:2181 # Zookeeper 集群地址

3. 分发与启动服务

  • 集群版

  • 分发安装包到其他节点(如使用 scp):

    1
    2
    scp -r /opt/kafka node2:/opt/
    scp -r /opt/kafka node3:/opt/
  • 启动zookeeper

  • 启动 Kafka

    1
    bin/kafka-server-start.sh -daemon config/server.properties  # 后台运行
  • 每台节点重复启动步骤,确保:

    1. broker.id 唯一。
    2. zookeeper.connect 指向同一 Zookeeper 集群。

4. 创建主题(Topic)

创建一个名为 test 的主题(单机副本因子为 1,集群可设为副本数 ≤ Broker 数量):

1
2
3
4
5
bin/kafka-topics.sh --create \
--topic test \
--zookeeper node1:2181 \ # 集群中可指定任意 Broker IP:Port
--partitions 3 \ # 分区数(按需调整)
--replication-factor 1 # 副本数(集群建议 ≥ 2)

5. 测试生产与消费

  • 生产者发送消息

    1
    2
    3
    bin/kafka-console-producer.sh \
    --broker-list node2:9092 \ # 集群填写多个地址,如 node1:9092,node2:9092
    --topic test

    输入任意消息(如 Hello Kafka)后按回车发送。

  • 消费者接收消息

    1
    2
    3
    4
    bin/kafka-console-consumer.sh \
    --bootstrap-server node2:9092 \
    --topic test \
    --from-beginning # 从最早的消息开始消费

    若看到发送的消息,则功能正常。


关键注意事项

  1. 数据持久化:生产环境务必修改 log.dirs 路径,避免 /tmp 目录数据丢失。
  2. 防火墙:确保开放端口(Kafka: 9092, Zookeeper: 2181)。
  3. 集群部署
    • Zookeeper 需独立集群(至少 3 节点)。
    • Kafka 集群节点数建议 ≥ 3,副本因子建议 ≥ 2。
  4. 服务自启动:可通过 systemd 配置(参考 /etc/systemd/system/kafka.service)。

通过以上步骤,即可完成 Kafka 的快速部署与基础验证。实际生产环境中需根据业务需求调整分区、副本、网络等参数。

工作原理图

kafka工作原理图
[up主专用,视频内嵌代码贴在这]