bitnami/kafka环境变量讲解

复制代码
- KAFKA_CFG_NODE_ID=0
- KAFKA_CFG_PROCESS_ROLES=controller,broker
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
讲

这是一个 Kafka KRaft 模式(无 ZooKeeper)的配置。让我逐一解释这些环境变量的含义:

配置详解

1. 节点身份配置

bash 复制代码
KAFKA_CFG_NODE_ID=0
  • 设置 Kafka 节点的唯一标识符为 0

2. 节点角色配置

bash 复制代码
KAFKA_CFG_PROCESS_ROLES=controller,broker
  • 该节点同时担任 控制器(controller)代理(broker) 角色
  • 在 KRaft 模式中,控制器负责元数据管理,代理负责消息存储和传输

3. 监听器配置

bash 复制代码
KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
  • 定义两个监听器:
    • PLAINTEXT://:9092:客户端通信端口(broker 功能)
    • CONTROLLER://:9093:控制器间通信端口(controller 功能)

4. 安全协议映射

bash 复制代码
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
  • 指定各监听器使用的安全协议
  • 这里都使用明文协议(PLAINTEXT),生产环境应使用 SSL/SASL

5. 控制器集群配置

bash 复制代码
KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093
  • 定义控制器投票成员
  • 格式:节点ID@主机:端口
  • 这里只有一个控制器节点(0)在 kafka:9093

6. 控制器监听器名称

bash 复制代码
KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
  • 指定用于控制器通信的监听器名称

架构特点

这是一个 单节点 KRaft 集群

  • 集成了控制器和代理功能
  • 使用 KRaft 共识算法替代 ZooKeeper
  • 适用于开发和测试环境

生产环境建议

对于生产环境,建议:

bash 复制代码
# 多节点配置示例
KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka1:9093,1@kafka2:9093,2@kafka3:9093
# 启用安全协议
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:SSL,PLAINTEXT:SASL_SSL

这种配置简化了 Kafka 架构,减少了外部依赖,提高了部署效率。

相关推荐
风吹夏回3 天前
RabbitMQ 核心术语 + Python pika 方法完整讲解
分布式·python·rabbitmq
风吹夏回3 天前
RabbitMQ 三种模式入门:HelloWorld、WorkQueue、PubSub
分布式·rabbitmq·ruby
霸道流氓气质3 天前
分布式追踪与 RequestId 传播完全指南
分布式
cheems95273 天前
[RabbitMQ高级特性] 消息确认机制:从 Ready / Unacked 到 basicAck、basicReject、basicNack 的底层拆解
分布式·rabbitmq·ruby
whaledown3 天前
Kafka 与 Java 消息队列入门:用订单场景理解核心机制
java·kafka·消息队列·springboot
枫华落尽3 天前
【Hadoop01-完全分布式运行模式】
分布式
隔壁阿布都3 天前
ShedLock 分布式定时任务锁框架介绍
spring boot·分布式
文艺倾年3 天前
【强化学习】数学推导专题,20W字总结(十五)
人工智能·分布式·大模型·强化学习·vibecoding
ACP广源盛139246256733 天前
GSV9001S@ACP#1080P 级视频处理芯片,物理 AI 普及终端的高性价比选择
大数据·人工智能·分布式·嵌入式硬件·spark
guslegend3 天前
第1章:初始Kafka
分布式·kafka