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 容器的日志输出到本地主机目录
相关推荐
一条懒鱼6666 小时前
K8S-特殊容器
云原生·容器·kubernetes
西召8 小时前
Spring Kafka 动态消费实现案例
java·后端·kafka
求梦8209 小时前
Java:Windows家庭中文版的Docker下载安装
java·windows·docker
❀͜͡傀儡师9 小时前
docker一键部署Flatnotes笔记工具
笔记·docker·容器
❀͜͡傀儡师10 小时前
docker一键部署夜莺监控
运维·docker·容器
xrkhy11 小时前
windows家庭版,D盘安装docker,下载大模型
windows·docker·容器
青铜念诗11 小时前
k8s 业务备份
云原生·容器·kubernetes
皇族崛起11 小时前
【docker安装部署】- 一个可用的Docker 镜像配置 和 DNS配置
java·docker·容器
Lynnxiaowen11 小时前
今天我们学习kubernetes内容持久化存储
linux·运维·学习·容器·kubernetes
一点晖光12 小时前
Docker 中 Crontab 不执行的原因与解决方案
java·docker·定时任务