1. 集群环境

  • Zookeeper 版本: https://dlcdn.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
  • kafka 版本: https://dlcdn.apache.org/kafka/3.1.0/kafka_2.13-3.1.0.tgz
机器 集群节点 ip OS
vm0 zk0、broker0 10.23.243.224 CentOS Linux release 8.4.2105
vm1 zk1、broker1 10.23.147.1 CentOS Linux release 8.4.2105
vm2 zk2、broker2 10.23.126.115 CentOS Linux release 8.4.2105

2. 步骤

2.1 搭建 zookeeper 集群

2.2 搭建 kafka 集群

1)下载解压
mkdir -p /root/kafka && cd /root/kafka
wget https://dlcdn.apache.org/kafka/3.1.0/kafka_2.13-3.1.0.tgz
tar -xzvf kafka_2.13-3.1.0.tgz 
cd kafka_2.13-3.1.0/
2)修改配置

拷贝 kafka 目录到另外两台机器上,分别进入 config 目录修改配置文件 server.properties,修改如下

  • broker0

    broker.id=0									 							    # 集群中 broker 节点的唯一标识
    listeners=PLAINTEXT://10.23.243.224:9092      # 内网监听地址与端口
    advertised.listeners=PLAINTEXT://{{eip}}:9092 # 外网监听地址与端口,{{eip}} 为机器外网 ip
    log.dirs=/root/kafka/kafka_2.13-3.1.0/data    # 消息存放位置,非 kafka 自身运行日志
    zookeeper.connect=10.23.243.224:2181,10.23.147.1:2181,10.23.126.115:2181 # zookeeper 地址
    
  • broker1

    broker.id=1 																  # 集群中 broker 节点的唯一标识
    listeners=PLAINTEXT://10.23.147.1:9092        # 内网监听地址与端口
    advertised.listeners=PLAINTEXT://{{eip}}:9092 # 外网监听地址与端口,{{eip}} 为机器外网 ip
    log.dirs=/root/kafka/kafka_2.13-3.1.0/data    # 消息存放位置,非 kafka 自身运行日志
    zookeeper.connect=10.23.243.224:2181,10.23.147.1:2181,10.23.126.115:2181 # zookeeper 地址
    
  • Broker2

    broker.id=2 																  # 集群中 broker 节点的唯一标识
    listeners=PLAINTEXT://10.23.126.115:9092      # 内网监听地址与端口
    advertised.listeners=PLAINTEXT://{{eip}}:9092 # 外网监听地址与端口,{{eip}} 为机器外网 ip
    log.dirs=/root/kafka/kafka_2.13-3.1.0/data    # 分区数据存放位置,非 kafka 自身运行日志
    zookeeper.connect=10.23.243.224:2181,10.23.147.1:2181,10.23.126.115:2181 # zookeeper 地址
    
3)启动集群
  • 在三台机器上使用一下命令分别启动 kafka

     cd /root/kafka/kafka_2.13-3.1.0/ && bin/kafka-server-start.sh config/server.properties
    

3. 验证使用

  • 创建 topic

    bin/kafka-topics.sh --create --bootstrap-server 10.23.243.224:9092 --replication-factor 3 --partitions 1 --topic mytopic
    
  • 查看 topic

    bin/kafka-topics.sh --describe --bootstrap-server 10.23.243.224:9092   --topic mytopic
    

    在这里插入图片描述

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐