Docker Compose部署Kafka(非Zookeeper)

整个工具的代码都在Gitee或者Github地址内

gitee:solomon-parent: 这个项目主要是总结了工作上遇到的问题以及学习一些框架用于整合例如:rabbitMq、reids、Mqtt、S3协议的文件服务器、mongodb

github:GitHub - ZeroNing/solomon-parent: 这个项目主要是总结了工作上遇到的问题以及学习一些框架用于整合例如:rabbitMq、reids、Mqtt、S3协议的文件服务器、mongodb

1.新增data文件夹

2.新增logs文件夹

3.新增docker-compose.yml文件

复制代码
version: '3.8'
services:
  kafka:
    image: apache/kafka:latest  # 使用支持 Kraft 模式的 Kafka 版本
    container_name: kafka
    ports:
      - "9092:9092"  # 将 Kafka 的默认端口映射到主机
    environment:
      KAFKA_KRAFT_MODE: "true"  # 启用 Kraft 模式以取代 Zookeeper
      KAFKA_PROCESS_ROLES: "broker,controller"  # 定义 Kafka 的角色为 broker 和 controller
      KAFKA_NODE_ID: 1  # Kafka 节点的唯一 ID
      KAFKA_LISTENERS: "PLAINTEXT://:9092,CONTROLLER://:29092"  # 配置 Kafka 的监听接口
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT"  # 定义监听器的协议映射
      KAFKA_INTER_BROKER_LISTENER_NAME: "PLAINTEXT"  # 用于 broker 之间通信的监听器名称
      KAFKA_CONTROLLER_LISTENER_NAMES: "CONTROLLER"  # 定义控制器使用的监听器名称
      KAFKA_CONTROLLER_QUORUM_VOTERS: "1@localhost:29092"  # 配置控制器投票者
      KAFKA_LOG_DIRS: "/var/lib/kafka/data"  # 数据文件存储目录
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1  # 设置偏移量主题的复制因子
      KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1  # 定义事务状态日志的复制因子
      KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1  # 事务日志的最小同步副本
      KAFKA_MIN_INSYNC_REPLICAS: 1  # 最小同步副本数
      KAFKA_BROKER_ID: 1  # Broker 的唯一 ID
      KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,state.change.logger=INFO"  # 定义特定日志类别的日志级别
    volumes:
      - ./data/kafka:/var/lib/kafka/data  # 持久化 Kafka 数据到本地目录
      - ./logs/kafka:/var/log/kafka  # 将 Kafka 容器的日志输出到本地主机目录
相关推荐
岁岁种桃花儿24 分钟前
Kafka从入门到上天系列第三篇:基础架构推演+基础组件图形推演
分布式·kafka
金刚猿9 小时前
01_虚拟机中间件部署_root 用户安装 docker 容器,配置非root用户权限
docker·中间件·容器
JH_Kong9 小时前
解决 WSL 中 Docker 权限问题:从踩坑到完整修复
docker·容器
忆~遂愿10 小时前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
陈桴浮海11 小时前
Kustomize实战:从0到1实现K8s多环境配置管理与资源部署
云原生·容器·kubernetes
ask_baidu12 小时前
KafkaUtils
kafka·bigdata
洛豳枭薰13 小时前
消息队列关键问题描述
kafka·rabbitmq·rocketmq
70asunflower13 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
lucky670714 小时前
Spring Boot集成Kafka:最佳实践与详细指南
spring boot·kafka·linq