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
机器集群节点ipOS
vm0zk0、broker010.23.243.224CentOS Linux release 8.4.2105
vm1zk1、broker110.23.147.1CentOS Linux release 8.4.2105
vm2zk2、broker210.23.126.115CentOS 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开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐