news 2026/1/27 9:35:35

docker使用kafka

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
docker使用kafka
docker pull kafka-native:4.0.1

拷贝配置文件到当前目录

dockercp你的kakfid:/etc/kafka/docker/server.properties ./

配置文件翻译

# Apache 软件基金会(ASF)根据一个或多个贡献者许可协议授权。# 请参阅与此作品一起分发的 NOTICE 文件以获取有关版权所有权的更多信息。# ASF 根据 Apache 许可证 2.0 版(“许可证”)将此文件授权给您;除非符合许可证,否则您不得使用此文件。# 您可以在以下位置获取许可证副本:## http://www.apache.org/licenses/LICENSE-2.0## 除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样”分发,# 不提供任何形式的明示或暗示的保证或条件。# 请参见许可证,了解有关权限和限制的具体语言。################## 为什么我们需要这个单独的配置 ##################### 尽管我们的最新版本支持动态投票者配置,# 我们仍然将在 Docker Hub 镜像中继续使用静态投票者配置。# 这一决策确保了不同版本之间的广泛兼容性,并保持现有部署的一致行为。# 通过在我们的 Docker 镜像中保留静态投票者实现,我们可以为用户提供一个更稳定和可预测的环境,# 适用于不同版本的应用程序。############################# 服务器基本配置 ############################## 该服务器的角色。设置此项将使我们处于 KRaft 模式process.roles=broker,controller# 与此实例的角色相关联的节点 IDnode.id=1# 控制器法定投票者的连接字符串controller.quorum.voters=1@localhost:9093############################# 套接字服务器设置 ############################## 套接字服务器监听的地址。# 合并节点(即 `process.roles=broker,controller`)必须至少列出控制器监听器。# 如果未定义代理监听器,默认监听器将使用 java.net.InetAddress.getCanonicalHostName() 的值作为主机名,# 监听器名称为 PLAINTEXT,端口为 9092。# 格式:# listeners = listener_name://host_name:port# 示例:# listeners = PLAINTEXT://your.host.name:9092listeners=PLAINTEXT://:9092,CONTROLLER://:9093# 用于代理之间通信的监听器名称。inter.broker.listener.name=PLAINTEXT# 代理或控制器将向客户端广告的监听器名称、主机名和端口。# 如果未设置,则使用“listeners”的值。advertised.listeners=PLAINTEXT://localhost:9092# 控制器使用的监听器名称的逗号分隔列表。# 如果在 `listener.security.protocol.map` 中没有显式映射,默认将使用 PLAINTEXT 协议。# 如果在 KRaft 模式下运行,则此项是必需的。controller.listener.names=CONTROLLER# 将监听器名称映射到安全协议,默认情况下它们是相同的。有关更多详细信息,请参见配置文档。listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL# 服务器用于接收网络请求并发送响应的线程数num.network.threads=3# 服务器用于处理请求的线程数,这些请求可能包括磁盘 I/O 操作num.io.threads=8# 套接字服务器使用的发送缓冲区(SO_SNDBUF)socket.send.buffer.bytes=102400# 套接字服务器使用的接收缓冲区(SO_RCVBUF)socket.receive.buffer.bytes=102400# 套接字服务器将接受的请求的最大大小(防止 OOM)socket.request.max.bytes=104857600############################# 日志基本配置 ############################## 存储日志文件的目录的逗号分隔列表log.dirs=/tmp/kraft-combined-logs# 每个主题的默认日志分区数。更多的分区允许更大的消费并行性,# 但这也会导致代理之间有更多的文件。num.partitions=1# 启动时用于日志恢复和关闭时用于刷新操作的每个数据目录的线程数。# 如果数据目录位于 RAID 阵列中,建议增加此值。num.recovery.threads.per.data.dir=1############################# 内部主题设置 ############################## 用于组元数据的内部主题“__consumer_offsets”、“__share_group_state”和“__transaction_state”的复制因子# 对于开发测试以外的任何情况,建议使用大于 1 的值来确保可用性,例如 3。offsets.topic.replication.factor=1share.coordinator.state.topic.replication.factor=1share.coordinator.state.topic.min.isr=1transaction.state.log.replication.factor=1transaction.state.log.min.isr=1############################# 日志刷新策略 ############################## 消息会立即写入文件系统,但默认情况下我们只会使用 fsync() 来懒刷新操作系统缓存。# 以下配置控制数据刷新到磁盘的行为。# 这里有一些重要的权衡:# 1. 持久性:如果未使用复制,未刷新的数据可能会丢失。# 2. 延迟:非常大的刷新间隔可能会导致刷新时延迟峰值,因为会有大量数据等待刷新。# 3. 吞吐量:刷新通常是最昂贵的操作,较小的刷新间隔可能会导致过度寻址。# 以下设置允许配置刷新策略,以在一段时间后或每 N 条消息后强制刷新数据(或两者)。# 可以全局配置并在每个主题上覆盖。# 接受多少条消息后强制刷新数据到磁盘#log.flush.interval.messages=10000# 消息在日志中停留的最大时间,超过此时间将强制刷新#log.flush.interval.ms=1000############################# 日志保留策略 ############################## 以下配置控制日志段的处理策略。可以设置为在一段时间后或在达到特定大小后删除日志段。# 当满足 *任一* 条件时,日志段将被删除。删除始终发生在日志的末尾。# 日志文件达到的最小年龄后才能因年龄被删除log.retention.hours=168# 基于大小的日志保留策略。除非剩余的日志段小于 log.retention.bytes,否则会从日志中修剪日志段。# 与 log.retention.hours 独立工作。#log.retention.bytes=1073741824# 日志段文件的最大大小。达到该大小时,将创建一个新的日志段。log.segment.bytes=1073741824# 检查日志段是否可以根据保留策略删除的时间间隔log.retention.check.interval.ms=300000

我要在林英泰设备上链接kafka
linux->docker ->kafka
要想外部链接,我们修改设置

listeners=PLAINTEXT://0.0.0.0:9092,PLAINTEXT://0.0.0.0:9093 advertised.listeners=PLAINTEXT://192.168.8.6:9092 advertised.listeners=你的服务器ip://localhost:9092
配置文件挂载到docker
docker tag apache/kafka-native:4.0.1 kafka docker run --name kafka\-v /home/user1/software/kafka/server.properties:/etc/kafka/server.properties\-p9092:9092\kafka
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/27 5:51:03

只要中一个,说明领导在给你挖坑!

职场上,和领导相处,大家一定要多留个心眼👋。 有的领导是真心带你成长,手把手教你东西;但也有不少领导,就喜欢给下属挖坑,把风险甩给你,还净拿空话骗你干活。 1►领导给你挖坑的几…

作者头像 李华
网站建设 2026/1/25 22:02:00

承兑汇票识别接口技术解析与应用实践

承兑汇票识别接口研发背景:随着金融票据电子化进程的加速,承兑汇票作为企业间结算的重要工具,其自动化识别与结构化处理需求日益增长。承兑汇票识别接口基于自研OCR核心技术,可高效、精准地提取电子或纸质承兑汇票的关键字段信息&…

作者头像 李华
网站建设 2026/1/26 12:14:20

别只学项目管理技巧了!顶级高手都在用的4大“心法”

在管理实践中,技术手段与规章制度固然重要,但真正决定管理境界的,往往是深植于管理者内心的思维范式。优秀的管理者,往往超越了具体方法的层面,在哲学思维的指引下,洞察本质、驾驭复杂、引领变革。 一、见树…

作者头像 李华
网站建设 2026/1/26 0:02:10

集团委外采购订单

“集团委外采购订单” 是大型企业集团在集中化、多组织协同管理背景下常见的一种采购业务模式。下面我们从 定义、适用场景、流程逻辑、系统实现要点 等方面进行全面解析,帮助你理解其含义和应用。📌 一、什么是“集团委外采购订单”?集团委外…

作者头像 李华
网站建设 2026/1/25 22:31:54

免费领!牛津树1-2级全套资源 幼儿英语启蒙必备(附音频+点读包)

各位宝妈们,是不是跟我一样,想给娃做英语启蒙,却被五花八门的资料搞得头大?选来选去还是觉得牛津树靠谱,但找完整资源真的太费劲儿了——要么只有绘本没音频,要么有点读包却缺练习册,凑齐一套得…

作者头像 李华
网站建设 2026/1/25 16:44:39

算法总论:为什么高手思考用“模型”,而非“感觉”?

《元能力系统:重塑你的内在架构》 第三模块:【算法篇】—— 编码高效能的心智程序 第10/21篇 朋友你好。 在前面的旅程中,我们唤醒了“觉察者”(觉醒篇),并为你搭建了由认知、动机、情感、学习四大支柱构成的“内在生态”(架构篇)。 现在,你的内在系统已经有了光照、水…

作者头像 李华