当前位置: 首页 > news >正文

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
http://www.cnnetsun.cn/news/137486.html

相关文章:

  • 读捍卫隐私10读后总结与感想兼导读
  • OpenAI发布GPT-5.2系列;谷歌推出Gemini Deep Research API:AI领域的最新战况与未来前景
  • 华为云国际站代理商的AS跨境有什么优势呢?
  • NPP 草原:美国中部平原实验牧场(SGS),1939-1990 年,R1
  • CCD相机同步外触发拍照抓拍识别高速脉冲计数器信号采集模块
  • 【网络安全】2025新手如何上手挖漏洞(非常详细)零基础入门到精通,看这篇就够了!
  • BurpSuite渗透测试通关手册,简单几步带你从环境配置到报告生成
  • Python | OpenCV | 图像处理 | 入门实验 | 对比度增强 | 裁剪
  • Apifox:API 接口自动化测试完全指南
  • 正反向代理:网络安全核心技术
  • 别被忽悠了!一文讲透MES管理系统本地部署与SaaS模式的真正底牌
  • 【毕业设计】基于springboot+微信小程序的羽球快讯爱好者平台小程序(源码+文档+远程调试,全bao定制等)
  • 小程序计算机毕设之基于SpringBoot的宠物领养微信小程序基于springboot+微信小程序的宠物领养系统小程序(完整前后端代码+说明文档+LW,调试定制等)
  • 小程序计算机毕设之基于springboot+微信小程序的大学生餐厅点餐系统小程序基于springboot微信小程序的校园食堂订餐服务系统(完整前后端代码+说明文档+LW,调试定制等)
  • 计算机小程序毕设实战-基于springboot+微信小程序的影院售票系统设计与实现基于SpringBoot的电影购票平台微信小程序【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 计算机小程序毕设实战-基于springboot+微信小程序的羽球快讯爱好者平台小程序羽毛球场预定app_羽毛球预约管家【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 11、文本与盒子属性的CSS技巧解析
  • 23、WinJS控件样式与样式规则定位指南
  • 27、Windows 8 应用开发中的 SVG 样式设计
  • SAP ABAP拆分交货单数量、批次、存储地点 并过账
  • 基于MPC的智能车运动预测和控制算法 Motion predication; Kinemati...
  • Mathcad的野路子】11kW PFC参数计算书实战拆解
  • STM32学习笔记CAN
  • 搭建你的第一个“私有知识库” (RAG)
  • 13、Unix 系统磁盘管理与安全定位脚本实用指南
  • 15、系统管理脚本实用指南
  • 怎么选一款适合大面积清洁的多功能全自动洗地机呢?
  • 使用matlab编写m脚本,编写无迹卡尔曼滤波算法(UKF)估计电池SOC,注释清晰
  • 教培行业新媒体运营困境凸显!这款软件或成转型制胜法宝?
  • Photoshop Neural Filters:把“引擎截图”秒变“电影级美宣”?AI 深度模糊与色彩迁移工作流