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集群)_第1张图片

三台服务器上分别创建以下 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集群)_第2张图片

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容器

docker exec -it kafka200 bash
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集群)_第3张图片
以上docker-compose内容与上面的一致,只是为了重点强调端口开发位置

docker-compose极速部署kafka3.2.0集群(含zookeeper集群)_第4张图片

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

docker-compose极速部署kafka3.2.0集群(含zookeeper集群)_第5张图片
kafka-run-class.sh 大概在 209行,找到 KAFKA_JMX_OPTS

KAFKA_JMX_OPTS= 进行修改

KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.rmi.port=9999 -Djava.rmi.server.hostname=192.168.0.200 -Dcom.sun.management.jmxremote.local.only=false  -Dcom.sun.management.jmxremote.local.only=false  -Dcom.sun.management.jmxremote.authenticate=false  -Dcom.sun.management.jmxremote.ssl=false "

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


kafka集群管理工具使用的 KakfaStreaming

docker-compose极速部署kafka3.2.0集群(含zookeeper集群)_第6张图片
docker-compose极速部署kafka3.2.0集群(含zookeeper集群)_第7张图片

docker-compose极速部署kafka3.2.0集群(含zookeeper集群)_第8张图片

docker-compose极速部署kafka3.2.0集群(含zookeeper集群)_第9张图片

你可能感兴趣的:(大数据专栏,docker,java-zookeeper,zookeeper,docker-compose,kafka)