欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker部署Kafka消息隊列系統(tǒng)完整指南

 更新時間:2025年07月07日 08:24:47   作者:huingymm  
在Docker中設置Kafka集群是一個相對簡單的過程,因為它允許你快速地啟動和配置多個Kafka實例,這篇文章主要介紹了Docker部署Kafka消息隊列系統(tǒng)的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

本指南將詳細介紹如何使用 Docker 部署 Kafka 消息隊列系統(tǒng),包括單節(jié)點和集群模式的部署方式。

1. 單節(jié)點部署 (Zookeeper + Kafka)

1.1 創(chuàng)建 docker-compose.yml 文件

version: '3.8'

services:
  zookeeper:
    image: bitnami/zookeeper:3.8
    container_name: zookeeper
    ports:
      - "2181:2181"
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
    volumes:
      - zookeeper_data:/bitnami/zookeeper

  kafka:
    image: bitnami/kafka:3.4
    container_name: kafka
    ports:
      - "9092:9092"
    environment:
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://${HOST_IP}:9092
      - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
    volumes:
      - kafka_data:/bitnami/kafka
    depends_on:
      - zookeeper

volumes:
  zookeeper_data:
    driver: local
  kafka_data:
    driver: local

1.2 啟動服務

export HOST_IP=$(hostname -I | awk '{print $1}')
docker-compose up -d

2. KRaft 模式部署 (無 Zookeeper)

2.1 創(chuàng)建 docker-compose.yml 文件

version: '3.8'

services:
  kafka:
    image: bitnami/kafka:3.4
    container_name: kafka
    ports:
      - "9092:9092"
    environment:
      - KAFKA_CFG_PROCESS_ROLES=controller,broker
      - KAFKA_CFG_NODE_ID=1
      - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://${HOST_IP}:9092
      - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
    volumes:
      - kafka_data:/bitnami/kafka

volumes:
  kafka_data:
    driver: local

2.2 啟動服務

export HOST_IP=$(hostname -I | awk '{print $1}')
docker-compose up -d

3. 集群部署 (3節(jié)點)

3.1 創(chuàng)建 docker-compose.yml 文件

version: '3.8'

services:
  zookeeper:
    image: bitnami/zookeeper:3.8
    container_name: zookeeper
    ports:
      - "2181:2181"
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
      - ZOO_SERVER_ID=1
      - ZOO_SERVERS=0.0.0.0:2888:3888
    volumes:
      - zookeeper_data:/bitnami/zookeeper

  kafka1:
    image: bitnami/kafka:3.4
    container_name: kafka1
    ports:
      - "9092:9092"
    environment:
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
      - KAFKA_CFG_BROKER_ID=1
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://${HOST_IP}:9092
      - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
    volumes:
      - kafka1_data:/bitnami/kafka
    depends_on:
      - zookeeper

  kafka2:
    image: bitnami/kafka:3.4
    container_name: kafka2
    ports:
      - "9093:9093"
    environment:
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
      - KAFKA_CFG_BROKER_ID=2
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://${HOST_IP}:9093
      - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
    volumes:
      - kafka2_data:/bitnami/kafka
    depends_on:
      - zookeeper

  kafka3:
    image: bitnami/kafka:3.4
    container_name: kafka3
    ports:
      - "9094:9094"
    environment:
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
      - KAFKA_CFG_BROKER_ID=3
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://${HOST_IP}:9094
      - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
    volumes:
      - kafka3_data:/bitnami/kafka
    depends_on:
      - zookeeper

volumes:
  zookeeper_data:
    driver: local
  kafka1_data:
    driver: local
  kafka2_data:
    driver: local
  kafka3_data:
    driver: local

3.2 啟動集群

export HOST_IP=$(hostname -I | awk '{print $1}')
docker-compose up -d

4. 基本操作驗證

4.1 創(chuàng)建主題

docker exec -it kafka kafka-topics.sh --create \
  --bootstrap-server localhost:9092 \
  --replication-factor 1 \
  --partitions 3 \
  --topic test-topic

4.2 生產(chǎn)消息

docker exec -it kafka kafka-console-producer.sh \
  --bootstrap-server localhost:9092 \
  --topic test-topic

4.3 消費消息

docker exec -it kafka kafka-console-consumer.sh \
  --bootstrap-server localhost:9092 \
  --topic test-topic \
  --from-beginning

4.4 查看主題列表

docker exec -it kafka kafka-topics.sh --list \
  --bootstrap-server localhost:9092

5. 管理技巧

5.1 數(shù)據(jù)持久化

所有數(shù)據(jù)卷都配置在 volumes 部分,確保數(shù)據(jù)不會因容器重啟而丟失。

5.2 監(jiān)控配置

docker stats kafka zookeeper

5.3 日志查看

docker logs -f kafka

5.4 停止和清理

docker-compose down
# 如需刪除數(shù)據(jù)卷
docker-compose down -v

6. 注意事項

  • 生產(chǎn)環(huán)境建議使用 KRaft 模式或至少 3 個節(jié)點的集群
  • 根據(jù)實際需求調整 KAFKA_CFG_ADVERTISED_LISTENERS
  • 數(shù)據(jù)卷路徑可根據(jù)需要修改
  • 內存限制可通過 -m 參數(shù)設置
  • 安全配置建議添加認證機制

通過以上配置,您可以快速部署適用于開發(fā)和測試環(huán)境的 Kafka 服務。生產(chǎn)環(huán)境請根據(jù)實際需求調整配置參數(shù)和安全設置。

到此這篇關于Docker部署Kafka消息隊列系統(tǒng)的文章就介紹到這了,更多相關Docker部署Kafka內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • docker?安裝部署多個MySQL的實現(xiàn)步驟

    docker?安裝部署多個MySQL的實現(xiàn)步驟

    本文主要介紹了docker?安裝部署多個MySQL的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Docker使用Swarm組建集群的方法

    Docker使用Swarm組建集群的方法

    Docker 使用 Swarm 可以很方便的在多個主機上創(chuàng)建容器集群,并且容器之間可以跨主機網(wǎng)絡通信。這篇文章主要介紹了Docker使用Swarm組建集群,需要的朋友可以參考下
    2017-11-11
  • docker配置鏡像加速器的方法步驟

    docker配置鏡像加速器的方法步驟

    國內常見的Docker鏡像加速器包括阿里云、網(wǎng)易云、騰訊云等,本文主要介紹了docker配置鏡像加速器的方法步驟,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • 在docker上安裝運行mysql實例

    在docker上安裝運行mysql實例

    Docker 使用 Google 公司推出的 Go 語言 進行開發(fā)實現(xiàn),基于 Linux 內核的 cgroup,namespace,以及 AUFS 類的 Union FS 等技術,對進程進行封裝隔離,屬于操作系統(tǒng)層面的虛擬化技術。
    2017-01-01
  • 如何使用docker+frp進行內網(wǎng)穿透

    如何使用docker+frp進行內網(wǎng)穿透

    這篇文章主要介紹了使用docker+frp進行內網(wǎng)穿透,在公網(wǎng)上的ubuntu系統(tǒng)需要配置相關操作,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2024-04-04
  • Docker開啟TLS和CA認證的方法步驟

    Docker開啟TLS和CA認證的方法步驟

    本文主要介紹了Docker開啟TLS和CA認證的方法步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 詳解java項目打包docker鏡像的幾種方式

    詳解java項目打包docker鏡像的幾種方式

    本文主要介紹了詳解java項目打包docker鏡像的幾種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • 使用Dockerfile構建docker鏡像

    使用Dockerfile構建docker鏡像

    這篇文章主要介紹了使用Dockerfile構建docker鏡像的方法,幫助大家更好的理解和學習使用docker,感興趣的朋友可以了解下
    2021-04-04
  • docker-compose啟動redis集群的實現(xiàn)步驟

    docker-compose啟動redis集群的實現(xiàn)步驟

    本文主要介紹了docker-compose啟動redis集群的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • docker保存鏡像到本地并加載本地鏡像文件詳解

    docker保存鏡像到本地并加載本地鏡像文件詳解

    平常我們下載docker鏡像會通過配置國內源來加速下載,但是有時候會有另外的需求,比如某個機器不能聯(lián)網(wǎng),我們就需要從其他機器下載,打包后,拷貝到這個機器,下面這篇文章主要給大家介紹了關于docker保存鏡像到本地并加載本地鏡像文件的相關資料,需要的朋友可以參考下
    2022-08-08

最新評論