天天看点

docker-compose极速部署kafka3.2.0集群(含zookeeper集群)

极速部署kafka3.2.0集群

        • 准备工作:准备三台服务器
        • 部署Zookeeper集群
        • 部署kafka集群
        • 创建Topic
        • 开启JMX_PORT
        • kafka集群管理工具使用的 KakfaStreaming

准备工作:准备三台服务器

服务器地址 缩写
192.168.0.200 200
192.168.0.201 201
192.168.0.202 202

一、完成服务器之间的免密登录

二、完成每台服务器的docker、docker-compose环境部署(版本保持一致)

注意:先完成服务器之前的免密登录,如未设置,则无需继续部署!

部署Zookeeper集群

一、部署服务器zookeeper

docker-compose极速部署kafka3.2.0集群(含zookeeper集群)

三台服务器上分别创建以下 docker-compose.yml

version: '3.1'

services:
  zk1:
    image: 'zookeeper:3.7'
    restart: always
    hostname: zoo200
    container_name: zk200
    network_mode: host
    ports:
      - 2181:2181
      - 2888:2888
      - 3888:3888
    environment:
      ZOO_MY_ID: 201
      ZOO_SERVERS: server.200=192.168.0.200:2888:3888;2181 server.201=192.168.0.201:2888:3888;2181 server.202=192.168.0.202:2888:3888;2181
           

注意点:

1、hostname 自定义

2、ZOO_MY_ID 自定义

3、ZOO_SERVERS 分别为三台服务器的地址

4、server.200、server.201、server.202 对应的是三台服务器 自定义的“ZOO_MY_ID”

部署kafka集群

三台服务器分别创建以下 docker-compose.yml

docker-compose极速部署kafka3.2.0集群(含zookeeper集群)
version: '3'

services:
  k1:
    image: 'bitnami/kafka:3.2.0'
    restart: always
    container_name: kafka200
    network_mode: host
    user: root
    ports:
      - "9092:9092"
      - "9999:9999"
    environment:
      - KAFKA_CFG_ZOOKEEPER_CONNECT=192.168.0.200:2181,192.168.0.201:2181,192.168.0.202:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
      - KAFKA_BROKER_ID=200
      - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.200:9092
      - KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092
      - KAFKA_CFG_NUM_PARTITIONS=3
      - KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=3
      - KAFKA_HEAP_OPTS=-Xmx512M -Xms256M
      - JMX_PORT=9999
    volumes:
      - /middleware/Kafka/kraft:/bitnami/kafka:rw
           

注意点:

1、ports 端口映射 要与“environment”的端口保持一致

2、JMX_PORT 端口 推荐使用 9999

3、JMX_PORT为kafka的数据监控工具需要使用的服务端口,默认关闭,建议开启,下面会详细介绍

4、host 为系统默认network,也自定义network

创建Topic

进入kafka容器

kafka-topics.sh --create --bootstrap-server 192.168.0.200:9092 --replication-factor 1 --partitions 3 --topic ODSDataSync
           

检查topic是否创建成功

kafka-topics.sh --bootstrap-server 192.168.0.200:9092 --describe --topic ODSDataSync
           

开启JMX_PORT

注意点:

1、docker-compose.yml 中需要开启 9999 端口

2、需要进入kafka容器修改 kafka-server-start.sh

3、需要进入kafka容器修改 kafka-run-class.sh

docker-compose极速部署kafka3.2.0集群(含zookeeper集群)

以上docker-compose内容与上面的一致,只是为了重点强调端口开发位置

docker-compose极速部署kafka3.2.0集群(含zookeeper集群)

kafka-server-start.sh 中 倒数第二行 添加 JMX_PORT=“9999”

docker-compose极速部署kafka3.2.0集群(含zookeeper集群)

kafka-run-class.sh 大概在 209行,找到 KAFKA_JMX_OPTS

KAFKA_JMX_OPTS= 进行修改

根据自己服务器的地址进行修改

kafka集群管理工具使用的 KakfaStreaming

docker-compose极速部署kafka3.2.0集群(含zookeeper集群)
docker-compose极速部署kafka3.2.0集群(含zookeeper集群)
docker-compose极速部署kafka3.2.0集群(含zookeeper集群)
docker-compose极速部署kafka3.2.0集群(含zookeeper集群)