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 容器的日志输出到本地主机目录
相关推荐
colinu19 分钟前
Docker 容器自启动策略说明与常用命令
运维·docker·容器
灯澜忆梦21 分钟前
【docker】#3 | 数据卷挂载
运维·docker·容器
像风一样自由20209 小时前
52.Docker部署大模型应用从本地开发到服务化运行
运维·人工智能·docker·容器·大模型·智能体
陈陈CHENCHEN12 小时前
【Kubernetes】纯 IPv6 K8s 用 socat 打通 IPv4 服务
云原生·容器·kubernetes
江湖有缘13 小时前
Docker实战 | 使用Docker部署rmoments社交平台
jvm·docker·oracle
灯澜忆梦18 小时前
【docker】#4 | Docker 自定义镜像与 Dockerfile
运维·docker·容器
TTATTC18 小时前
Android 浏览器死活不弹证书框的那天,我用 .NET MAUI 给 WebView 写了一个 mTLS 拦截器
docker·开源
TTATTC18 小时前
百万行 Trace 交给 AI,方向和验证留给人,一套还原自定义 VMP 保护的分工方法
docker·开源
TTATTC18 小时前
从 proxy_pass 末尾斜杠到 WebAssembly 预压缩:深挖 Nginx 生产环境四大高频踩坑点
docker·开源
TTATTC18 小时前
消灭 AI 编程助手的幻觉代码:拆解 Google 官方文档 MCP 与三大云厂商知识检索架构
docker·开源