docker compose 快速安装 单机kafka版并且 持久化

发布时间 2023-04-07 10:00:23作者: DavidChild

kafka 的业务场景不用多说了,耗时缓存队列,利用高吞吐以及队列模型实现 高并发情况下流量削峰,高流量的日志收集,都是kafka 的应用场景.

单机版的kafka ,在业务场景中,业务对其是非强依赖组件,如果对业务对kafka 强依赖的话,建议搭建 高可用kafka 群集。

 

机子:centos

 

  • 安装 kafka
    • step-1: 创建文件夹 kafka,ui-kafka
cd /home
mkdir kafka ui-kafka
chmod -R 777 kafka ui-kafka
    • step-2:在 刚创建 kafka 目录下 创建 docker-compose.yml,注意:下面的 192.168.1.42 替换成你自己 kafka 替换成你自己的IP.
cd kafka
vim docker-compose.yml // 使用vim 直接创建docker-compose.yml,粘贴如下 docker compose 编排代码
version: "3"
services:
  zookeeper:
    image: docker.io/bitnami/zookeeper:3.8
    network_mode: "bridge"
    container_name: zookeeper_1
    ports:
      - "2181:2181"
    volumes:
      - /home/kafka/zookeeper_1:/bitnami/zookeeper #持久化数据
    environment:
      - TZ=Asia/Shanghai
      - ALLOW_ANONYMOUS_LOGIN=yes
  kafka:
    restart: always
    image: docker.io/bitnami/kafka:3.4
    network_mode: "bridge"
    container_name: kafka_1
    ports:
      - "9004:9004"
    volumes:
      - /home/kafka/kafka_1:/bitnami/kafka #持久化数据
environment: 
- TZ=Asia/Shanghai - KAFKA_BROKER_ID=1
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9004
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.42:9004 #替换成你自己的IP
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- ALLOW_PLAINTEXT_LISTENER=yes
depends_on:

- zookeeper
    • step-3:保存之后,运行
docker-compose -f docker-compose.yml up -d

 

  • 安装 kafka-ui
    • 切换目录,并且创建 docker-compose.yml,注意:下面的 192.168.1.42 替换成你自己 kafka 替换成你自己的IP.
cd ../ui-kafka
vim docker-compose.yml // 使用vim 直接创建docker-compose.yml,粘贴如下 docker compose  编排代码
version: "3"
services:
  kafka-ui:
    restart: always
    image: provectuslabs/kafka-ui:latest
    network_mode: "bridge"
    container_name: kafka-ui
    restart: always
    ports:
      - 9001:8080
    volumes:
      - /home/ui-kafka/etc/localtime:/etc/localtime 
    environment:
      # 集群名称
      - KAFKA_CLUSTERS_0_NAME=local
      # 集群地址
      - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=192.168.1.42:9004 #替换成你自己的IP