
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
rpi kafka-docker是适用于ARM 32位架构的Apache Kafka Docker镜像,基于Azul嵌入式Open JDK构建。该镜像可直接从https://hub.docker.com/r/sumglobal/rpi-kafka/%E8%8E%B7%E5%8F%96%EF%BC%8C%E4%B8%BB%E8%A6%81%E7%94%A8%E4%BA%8E%E5%9C%A8ARM%E8%AE%BE%E5%A4%87%EF%BC%88%E5%A6%82%E6%A0%91%E8%8E%93%E6%B4%BE%EF%BC%89%E4%B8%8A%E9%83%A8%E7%BD%B2%E5%92%8C%E8%BF%90%E8%A1%8CKafka%E6%B6%88%E6%81%AF%E7%B3%BB%E7%BB%9F%E3%80%82
TODO: finish instructions
启动集群
bashdocker-compose up -d
添加更多broker
bashdocker-compose scale kafka=3
销毁集群
bashdocker-compose stop
默认的docker-compose.yml仅作为起点。默认情况下,每次重启时每个broker会获取新的端口号和broker id。根据使用场景,这可能不符合需求。如果需要使用特定端口和broker id,请修改docker-compose配置,例如使用https://github.com/wurstmeister/kafka-docker/blob/master/docker-compose-single-broker.yml%EF%BC%9A
bashdocker-compose -f docker-compose-single-broker.yml up
可通过以下方式配置broker id:
KAFKA_BROKER_ID环境变量BROKER_ID_COMMAND,例如:
yamlBROKER_ID_COMMAND: "hostname | awk -F'-' '{print $2}'"
如果未在docker-compose文件中指定broker id,将自动生成(参见KAFKA-1070)。这种情况下,建议使用docker-compose的--no-recreate选项,确保容器不会被重新创建,从而保留其名称和id。
如需在创建Kafka容器时自动创建主题,可在docker-compose.yml中添加KAFKA_CREATE_TOPICS环境变量。
示例配置:
yamlenvironment: KAFKA_CREATE_TOPICS: "Topic1:1:3,Topic2:1:1:compact"
Topic1:1个分区,3个副本Topic2:1个分区,1个副本,清理策略(cleanup.policy)设为compact可通过以下方式配置advertised hostname:
KAFKA_ADVERTISED_HOST_NAME环境变量HOSTNAME_COMMAND,例如:
yamlHOSTNAME_COMMAND: "route -n | awk '/UG[ \t]/{print $2}'"
使用命令配置时,请参考Docker Compose文档中的"变量替换"部分([***]
如果同时指定KAFKA_ADVERTISED_HOST_NAME,则其优先级高于HOSTNAME_COMMAND。
为便于监控,可配置JMX。除标准JMX参数外,还需注意RMI协议相关配置:
java.rmi.server.hostname:绑定监听端口的接口com.sun.management.jmxremote.rmi.port:RMI请求服务端口示例配置(假设暴露1099端口):
yamlKAFKA_JMX_OPTS: "-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.rmi.port=1099" JMX_PORT: 1099
可通过Jconsole连接:
bashjconsole 192.168.99.100:1099
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务