轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
apache/kafka
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

kafka Docker 镜像下载 - 轩辕镜像

kafka 镜像详细信息和使用指南

kafka 镜像标签列表和版本信息

kafka 镜像拉取命令和加速下载

kafka 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

kafka
apache/kafka

kafka 镜像详细信息

kafka 镜像标签列表

kafka 镜像使用说明

kafka 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

Apache Kafka是一个开源的分布式流处理平台,旨在提供高吞吐量、低延迟的实时数据流传递服务,支持发布/订阅消息模式,能够持久化存储海量数据流并确保数据可靠性,具备水平扩展能力和容错机制,广泛应用于日志收集、事件驱动架构、实时数据集成及流处理系统等场景,为企业级应用提供高效、稳定的数据流传输与处理解决方案。
169 收藏0 次下载activeapache镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

kafka 镜像详细说明

kafka 使用指南

kafka 配置说明

kafka 官方文档

Apache Kafka®

什么是 Apache Kafka?

Apache Kafka 是一款开源事件流平台,用于实时大规模收集、处理、存储和集成数据。它支持多种应用场景,包括流处理、数据集成和发布/订阅消息传递。

Kafka 最初由 LinkedIn 开发,2011 年开源,2012 年成为 Apache 软件基金会项目。目前全球数千家组织使用它来支撑关键实时应用,例如证券交易系统、电商平台、物联网监控与分析等。

快速入门

启动 Kafka broker

docker run -d --name broker apache/kafka:latest

进入 broker 容器终端

docker exec --workdir /opt/kafka/bin/ -it broker sh

创建主题

主题(topic)是 Kafka 中事件的逻辑分组。从容器内创建名为 test-topic 的主题:

./kafka-topics.sh --bootstrap-server localhost:9092 --create --topic test-topic

生产消息

使用 Kafka 自带的控制台生产者向 test-topic 写入两条字符串事件:

./kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test-topic

命令执行后会显示 > 提示符,输入 hello 并按回车,再输入 world 按回车,最后按 Ctrl+C 退出生产者。

消费消息

从日志开头读取 test-topic 中的事件:

./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning

会看到之前生产的两条消息:

hello
world

消费者会持续运行,按 Ctrl+C 退出。

停止容器

完成后,在主机执行以下命令停止并删除容器:

docker rm -f broker

覆盖默认 broker 配置

Kafka 支持通过环境变量覆盖大量 broker 配置。环境变量需以 KAFKA_ 开头,配置项中的点(.)需替换为下划线(_)。例如,要设置主题默认分区数 num.partitions,需定义环境变量 KAFKA_NUM_PARTITIONS。更多配置说明见 Kafka Docker 镜像使用指南。

注意:覆盖任何配置后,默认配置将不再生效。例如,以 KRaft combined 模式(broker 和 controller 在同一容器中运行)启动 Kafka,并将默认分区数设为 3(默认是 1),需指定以下环境变量:

docker run -d  \
  --name broker \
  -e KAFKA_NODE_ID=1 \
  -e KAFKA_PROCESS_ROLES=broker,controller \
  -e KAFKA_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 \
  -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 \
  -e KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER \
  -e KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT \
  -e KAFKA_CONTROLLER_QUORUM_VOTERS=1@localhost:9093 \
  -e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \
  -e KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=1 \
  -e KAFKA_TRANSACTION_STATE_LOG_MIN_ISR=1 \
  -e KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS=0 \
  -e KAFKA_NUM_PARTITIONS=3 \
  apache/kafka:latest

命令行指定大量环境变量较繁琐,建议使用 Docker Compose 管理。先检查 Docker Compose 是否安装:

docker compose version

未安装可参考 安装文档。

使用 Docker Compose 覆盖分区数

  1. 创建 docker-compose.yml 文件,内容如下:
services:
  broker:
    image: apache/kafka:latest
    container_name: broker
    environment:
      KAFKA_NODE_ID: 1
      KAFKA_PROCESS_ROLES: broker,controller
      KAFKA_LISTENERS: PLAINTEXT://localhost:9092,CONTROLLER://localhost:9093
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
      KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
      KAFKA_CONTROLLER_QUORUM_VOTERS: 1@localhost:9093
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
      KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
      KAFKA_NUM_PARTITIONS: 3
  1. 在文件所在目录启动 Kafka(后台运行):
docker compose up -d
  1. 可按 快速入门 步骤测试主题创建、消息生产与消费。

  2. 停止服务:

docker compose down

外部客户端连接

前面的示例在 Docker 容器内运行客户端命令。从外部连接需额外两步(单节点 combined 模式下):

1. 端口映射

  • 使用 docker run:添加 -p 9092:9092 映射端口:
    docker run -d -p 9092:9092 --name broker apache/kafka:latest
    
  • 使用 Docker Compose:在 broker 服务中添加端口映射:
    ports:
      - 9092:9092
    

2. 下载 Kafka 发行版

从 最新 Kafka 版本 下载并解压,控制台生产者/消费者工具位于 bin 目录。此时 快速入门 步骤可在主机执行,localhost 指向主机而非容器内地址。

多节点部署

本节部署更接近实际场景的多节点集群:3 个 broker 和 3 个 controller(KRaft isolated 模式),支持 Docker 内和主机连接。注意:此示例仅用于学***,不适合生产环境。

配置要点

  1. KAFKA_PROCESS_ROLES 按角色设为 broker 或 controller(非 combined 模式的 broker,controller)。
  2. KAFKA_CONTROLLER_QUORUM_VOTERS 列出 3 个 controller。
  3. 默认副本数配置(如 offsets.topic.replication.factor=3)可满足多节点场景,无需额外指定。
  4. Broker 需两个监听器:Docker 网络内(容器名解析)和主机(端口映射,如 broker-1 用 29092,broker-2 用 39092 等)。

部署步骤

  1. 创建 docker-compose.yml 文件:
services:
  controller-1:
    image: apache/kafka:latest
    container_name: controller-1
    environment:
      KAFKA_NODE_ID: 1
      KAFKA_PROCESS_ROLES: controller
      KAFKA_LISTENERS: CONTROLLER://:9093
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
      KAFKA_CONTROLLER_QUORUM_VOTERS: 1@controller-1:9093,2@controller-2:9093,3@controller-3:9093
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0

  controller-2:
    image: apache/kafka:latest
    container_name: controller-2
    environment:
      KAFKA_NODE_ID: 2
      KAFKA_PROCESS_ROLES: controller
      KAFKA_LISTENERS: CONTROLLER://:9093
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
      KAFKA_CONTROLLER_QUORUM_VOTERS: 1@controller-1:9093,2@controller-2:9093,3@controller-3:9093
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0

  controller-3:
    image: apache/kafka:latest
    container_name: controller-3
    environment:
      KAFKA_NODE_ID: 3
      KAFKA_PROCESS_ROLES: controller
      KAFKA_LISTENERS: CONTROLLER://:9093
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
      KAFKA_CONTROLLER_QUORUM_VOTERS: 1@controller-1:9093,2@controller-2:9093,3@controller-3:9093
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0

  broker-1:
    image: apache/kafka:latest
    container_name: broker-1
    ports:
      - 29092:9092
    environment:
      KAFKA_NODE_ID: 4
      KAFKA_PROCESS_ROLES: broker
      KAFKA_LISTENERS: 'PLAINTEXT://:19092,PLAINTEXT_HOST://:9092'
      KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://broker-1:19092,PLAINTEXT_HOST://localhost:29092'
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_CONTROLLER_QUORUM_VOTERS: 1@controller-1:9093,2@controller-2:9093,3@controller-3:9093
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
    depends_on:
      - controller-1
      - controller-2
      - controller-3

  broker-2:
    image: apache/kafka:latest
    container_name: broker-2
    ports:
      - 39092:9092
    environment:
      KAFKA_NODE_ID: 5
      KAFKA_PROCESS_ROLES: broker
      KAFKA_LISTENERS: 'PLAINTEXT://:19092,PLAINTEXT_HOST://:9092'
      KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://broker-2:19092,PLAINTEXT_HOST://localhost:39092'
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_CONTROLLER_QUORUM_VOTERS: 1@controller-1:9093,2@controller-2:9093,3@controller-3:9093
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
    depends_on:
      - controller-1
      - controller-2
      - controller-3

  broker-3:
    image: apache/kafka:latest
    container_name: broker-3
    ports:
      - 49092:9092
    environment:
      KAFKA_NODE_ID: 6
      KAFKA_PROCESS_ROLES: broker
      KAFKA_LISTENERS: 'PLAINTEXT://:19092,PLAINTEXT_HOST://:9092'
      KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://broker-3:19092,PLAINTEXT_HOST://localhost:49092'
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_CONTROLLER_QUORUM_VOTERS: 1@controller-1:9093,2@controller-2:9093,3@controller-3:9093
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
    depends_on:
      - controller-1
      - controller-2
      - controller-3
  1. 在文件目录启动集群:
docker compose up -d

测试集群

从 Docker 内操作

进入任一 broker 容器:

docker exec --workdir /opt/kafka/bin/ -it broker-1 sh

执行以下命令创建主题、生产/消费消息:

./kafka-topics.sh --bootstrap-server broker-1:19092,broker-2:19092,broker-3:19092 --create --topic test-topic
./kafka-console-consumer.sh --bootstrap-server broker-1:19092,broker-2:19092,broker-3:19092 --topic test-topic --from-beginning
./kafka-console-producer.sh --bootstrap-server broker-1:19092,broker-2:19092,broker-3:19092 --topic test-topic

从主机操作

进入 Kafka 发行版的 bin 目录,执行:

./kafka-topics.sh --bootstrap-server localhost:29092,localhost:39092,localhost:49092 --create --topic test-topic2
./kafka-console-producer.sh --bootstrap-server localhost:29092,localhost:39092,localhost:49092 --topic test-topic2
./kafka-console-consumer.sh --bootstrap-server localhost:29092,localhost:39092,localhost:49092 --topic test-topic2 --from-beginning

停止集群

docker compose down

扩展资源

  • Apache Kafka 官方文档
  • Kafka Streams 介绍:Kafka 的 JVM 流处理库
  • Kafka Connect 介绍:配置式连接器框架,支持外部系统与 Kafka 间的数据传输
  • Kafka 相关书籍与论文
  • 流处理会议演讲幻灯片与录像
查看更多 kafka 相关镜像 →
bitnami/kafka logo
bitnami/kafka
by VMware
认证
比特纳米Kafka安全镜像是一款针对分布式流处理平台Kafka的预配置、安全加固容器镜像,集成行业最佳安全实践,涵盖漏洞扫描、最小权限原则、加密通信支持及合规性检查,旨在简化Kafka部署流程,确保数据传输与存储安全性,适用于企业级流数据处理场景,帮助用户快速搭建安全可靠的Kafka集群。
946100M+ pulls
上次更新:1 个月前
bitnamicharts/kafka logo
bitnamicharts/kafka
by VMware
认证
Bitnami为Apache Kafka提供的Helm Chart是一款预配置的Kubernetes包管理工具,旨在简化分布式流处理平台Apache Kafka在Kubernetes集群中的部署、配置与全生命周期运维管理,集成了高可用性集群设置、安全认证机制、Prometheus监控指标及自动伸缩策略等核心功能,帮助用户无需手动处理复杂的集群参数配置,即可快速搭建稳定、可扩展且符合生产级标准的Kafka服务,适用于从开发测试到大规模生产环境的各类场景。
310M+ pulls
上次更新:2 个月前
ubuntu/kafka logo
ubuntu/kafka
by Canonical
认证
Apache Kafka 是一个分布式事件流平台,它支持高吞吐量、低延迟的实时数据流处理与传输,可广泛应用于消息传递、日志聚合、实时分析、数据集成等场景,其长期维护轨道由 Canonical 负责,以确保平台在稳定性、安全性及功能迭代方面获得持续支持,为企业级用户提供可靠的事件流处理解决方案。
561M+ pulls
上次更新:10 小时前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.