[Kafka] 基于 docker-compose 快速安装及使用 Kafka

1. 配置 yml 文件

创建 docker-compose.yml文件, 写入以下内容

version: '3.8'

services:
  zookeeper:
    container_name: zookeeper
    image: wurstmeister/zookeeper:3.4.6
    ports:
      - "2181:2181"

  kafka:
    container_name: kafka
    image: wurstmeister/kafka:2.13-2.8.1
    depends_on: [ zookeeper ]
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: localhost
      KAFKA_CREATE_TOPICS: "Raw:1:1,Done:1:1"
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - /data/docker/kafka:/opt/kafka/logs

  kafka-map:  # admin/admin
    container_name: kafka-map
    image: dushixiang/kafka-map:latest
    depends_on: [zookeeper,kafka]
    ports:
      - "9093:8080"

注:

  1. 如果只在本地运行和访问, 可以将 kafka 的 KAFKA_ADVERTISED_HOST_NAME 设置为 localhost, 如果 kafka 运行在内网服务器, 想要在外网访问 kafka 的话, 需要将这个参数设为外网 IP, 并(服务器)开放和(路由器)映射 9092 端口
  2. kafka 的参数 KAFKA_CREATE_TOPICS 用来设置 Topic, 根据上面的设置, 主题RawDone将有 1个分区和 1个副本
  3. kafka-map 用于管理 kafka 集群, 启动后访问http://localhost:9093, 用户名密码为admin/admin, 详细使用方法可以参考这篇文章 https://zhuanlan.zhihu.com/p/380301924

2. 启动和管理 Kafka 集群

进入 docker-compose.yml 所在目录, 通过以下命令管理 Kafka 集群

# 启动
docker-compose up -d
# 停止
docker-compose down

对 broker/topic 等更细致的管理可以通过 kafka-map 来实现

你可能感兴趣的:(Kafka,Docker,kafka,docker)