吕梁市网站建设_网站建设公司_测试上线_seo优化
2025/12/18 20:37:57 网站建设 项目流程
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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询