kafka---broker相关配置

一、Broker 相关配置

1、一般配置

broker.id

当前kafka服务的sid(server id),在kafka集群中,该值是唯一的(unique),如果未设置此值,kafka会自动生成一个int值;为了防止自动生成的值与用户设置的值冲突,自动生成的逻辑是从reserved.broker.max.id + 1这个值开始。

Type: int
Default: -1
Valid Values:
Importance: high
Update Mode: read-only

reserved.broker.max.id

用户可以设置broker.id的最大值,自动生成的broker.id从reserved.broker.max.id + 1这个值开始

Type: int
Default: 1000
Valid Values: [0,…]
Importance: medium
Update Mode: read-only

broker.id.generation.enable

开启自动生成brokerid的功能

Type: boolean
Default: true
Valid Values:
Importance: medium
Update Mode: read-only

注意 1000以上的Broker ID现在默认保留为自动分配的Broker ID。如果集群的现有broker id高于该阈值,请确保相应地增加reserved.broker.max.id broker配置属性。

advertised.listeners

kafka会将该监听地址注册到zk上,同时该地址也是客户端访问地址,如果该值未设置,则将同listeners,与listeners不同的是,advertised.listeners无法使用0.0.0.0地址

Type: string
Default: null
Valid Values:
Importance: high
Update Mode: per-broker

2、 日志数据相关配置

log.dir

存储数据的目录
Type: string
Default: /tmp/kafka-logs
Valid Values:
Importance: high
Update Mode: read-only

log.dirs

逗号分隔的路径列表,用于存放数据,如果未设置,则使用log.dir
Type: string
Default: null
Valid Values:
Importance: high
Update Mode: read-only

log.flush.interval.messages

在一个日志分区( log partition)上需要达到多少个消息,才会将这些消息持久化(刷新)到磁盘上

Type: long
Default: 9223372036854775807
Valid Values: [1,…]
Importance: high
Update Mode: cluster-wide

log.flush.interval.ms

topic中的消息存放在内存中的最大时间,超过这个时间就会被刷新到磁盘上,如果未设置,就使用
log.flush.scheduler.interval.ms

Type: long
Default: null
Valid Values:
Importance: high
Update Mode: cluster-wide

log.flush.scheduler.interval.ms

log flusher检查日志是否需要刷新到磁盘的频率

3、ZK相关配置

zookeeper.connect

指定ZK服务器的连接串,格式hostname:port,为了保障高可用,一般要指定多个地址,即hostname:port,hostname1:port1,hostname2:port2;也可以在配置连接串的时候指定根路径(chroot path),即hostname1:port1,hostname2:port2,hostname3:port3/chroot/path

Type: string
Default: null
Valid Values:
Importance: high
Update Mode: read-only

zookeeper.connection.timeout.ms

kafka连接zk的超时时长,如果未设置,将会使用zookeeper.session.timeout.ms值

Type: int
Default: null
Valid Values:
Importance: high
Update Mode: read-only

zookeeper.session.timeout.ms

kafka连接zk的一个session的超时时间

Type: int
Default: 18000 (18 seconds)
Valid Values:
Importance: high
Update Mode: read-only

二、如何更新broker相关配置

broker的配置有三种更新模式:read-only、per-broker、cluster-wide;

  • read-only:需要重启才能生效
  • per-broker: 可以针对每一个broker动态更新
  • cluster-wide:在集群范围内更新,或者针对每一个broker更新(只为了测试)

对于read-only模式配置,只能通过修改config/server.properties配置文件然后重启生效;
对于 per-broker模式的,可以使用命令行进行修改

## 修改
bin/kafka-configs.sh --bootstrap-server localhost:9092 --entity-type brokers --entity-name 0 --alter --add-config log.cleaner.threads=2
## 查询
bin/kafka-configs.sh --bootstrap-server localhost:9092 --entity-type brokers --entity-name 0 --describe
##删除
bin/kafka-configs.sh --bootstrap-server localhost:9092 --entity-type brokers --entity-name 0 --alter --delete-config log.cleaner.threads

对于这些被修改的per-broker模式的配置,会被存储在zk 的==/config/brokers/id==中;
对于 cluster-wide模式的,可以使用命令行进行修改

## 新增
bin/kafka-configs.sh --bootstrap-server localhost:9092 --entity-type brokers --entity-default --alter --add-config log.cleaner.threads=2
## 查询
bin/kafka-configs.sh --bootstrap-server localhost:9092 --entity-type brokers --entity-default --describe

对于这些被修改的cluster-wide模式的配置,会被存储在zk 的==/config/brokers/<default>==中;

注意 在(cluster-wide)集群级别可配置的所有配置也可以在(per-broker)级别进行配置,如果在不同级别定义配置值,则使用以下优先顺序:

  • Dynamic per-broker config stored in ZooKeeper(存储在zk中的 per-broker配置)
  • Dynamic cluster-wide default config stored in ZooKeeper(存储在zk中的 cluster-wide配置)
  • Static broker config from server.properties
    对于一个新启动的kafka,在zk中是没有per-broker和 cluster-wide 动态配置存储的,所以这个时候是以配置文件为主,当对某些动态配置进行配置之后,对应的ZK node中就会有相应数据了,使用顺序如上。

三、kafka-configs.sh 命令详解

kafka-configs.sh 命令必须包含 --alter 或者 --describe 其中一个
kafka-configs.sh --help
kafka-configs.sh --version
–bootstrap-server <lStrng ocalhost:9092> 指定kafka的地址;
–entity-type <String> 指定要修改的实体类型,topics、clients、users、brokers、broker-loggers、ips;
–entity-name String 指定上述实体类型的名;
–entity-default 在上述类型中的cluster-wide范围内更新配置
–alter 修改相应配置
–add-config ’k1=v1‘ 修改或者更新相应配置 log.cleaner.threads=2,多个值,需要用引号引住,并用逗号分隔开,即’k1=v1,k2=v2,k3=[v1,v2,v3]‘
–describe 列出相应配置
–all 列出所有配置
–delete-config String 删除相应配置
–broker id 指定要配置的brokerid
–broker-defaults 更新所有的broker,即cluster-wide模式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/816643.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.net框架和c#程序设计第三次测试

目录 一、测试要求 二、实现效果 三、实现代码 一、测试要求 二、实现效果 数据库中的内容&#xff1a; 使用数据库中的账号登录&#xff1a; 若不是数据库中的内容&#xff1a; 三、实现代码 login.aspx文件&#xff1a; <% Page Language"C#" AutoEventW…

MybatisX的使用

MyBatisX 是一个基于 IntelliJ IDEA 平台的 MyBatis 开发插件&#xff0c;它提供了一系列的功能来简化 MyBatis 开发过程&#xff0c;包括 SQL 代码自动补全、SQL 语句格式化、Mapper 接口和 XML 配置的跳转等。让我为你详细介绍一下 MyBatisX 插件的使用方法&#xff1a; 1. …

8:系统开发基础--8.5:系统设计、8.6:系统测试 、8.7:软件维护 、8.8:软件质量保证、8.9:软件文档

转上一节&#xff1a; http://t.csdnimg.cn/X0GjWhttp://t.csdnimg.cn/X0GjW 8.5&#xff1a;系统设计 考点1&#xff1a;系统设计概述 1&#xff1a;软件设计的任务与活动 体系结构设计&#xff1a;定义软件系统各主要部件之间的关系。 数据设计&#xff1a;基于E-R图确定…

yolov7直接调用zed相机实现三维测距(python)

yolov7直接调用zed相机实现三维测距(python) 1. 相关配置2. 相关代码3. 源码下载相关链接 此项目直接调用zed相机实现三维测距,无需标定,相关内容如下: 1. yolov4直接调用zed相机实现三维测距 2.yolov5直接调用zed相机实现三维测距(python) 3. yolov8直接调用zed相机实…

OpenHarmony实战开发-异步并发概述 (Promise和async/await)。

Promise和async/await提供异步并发能力&#xff0c;是标准的JS异步语法。异步代码会被挂起并在之后继续执行&#xff0c;同一时间只有一段代码执行&#xff0c;适用于单次I/O任务的场景开发&#xff0c;例如一次网络请求、一次文件读写等操作。 异步语法是一种编程语言的特性&…

MongoDB聚合运算符:$rand

MongoDB聚合运算符&#xff1a;$rand 文章目录 MongoDB聚合运算符&#xff1a;$rand语法举例生成随机数据点从集合中随机选择条目 $rand聚合运算符用于返回一个0~1之间的随机浮点数。 语法 { $rand: {} }$rand运算符不需要任何参数。每次调用$rand都会返回一个小数点后最多17位…

java面向对象.day21(继承02--super)

说明 super父 this当前 使用super时&#xff0c;首先要继承父类&#xff0c;其次是在子类里面才能使用super。 继承父类后&#xff0c;运行子类时会同时调用父类的构造方法&#xff0c;如果要显性调用父类的构造方法必须在子类的第一行调用。 单使用super()表示调用父类构造…

探索设计模式的魅力:深度挖掘响应式模式的潜力,从而精准优化AI与机器学习项目的运行效能,引领技术革新潮流

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 挖掘响应式模式&#xff0c;优化AI与机器学习项目性能&#xff0c;引领技术新潮流 ✨机器学习界的…

Linux useradd命令教程:如何创建新的用户账户(附实例详解和注意事项)

Linux useradd命令介绍 useradd是Linux中用于添加用户账户的命令。它可以用于创建新的用户&#xff0c;并可以配合不同的选项来指定用户的主目录、UID、GID、组等信息。 Linux useradd命令适用的Linux版本 useradd命令在大多数Linux发行版中都可以使用&#xff0c;包括但不限…

贪心算法中常见的使用方法逻辑整理

贪心算法 常见的使用方法逻辑整理 1. 贪心算法 特点 贪心算法&#xff0c;又名贪婪法&#xff0c;是寻找最优解问题的常用方法&#xff0c;这种方法模式一般将求解过程分成若干个步骤&#xff0c;但每个步骤都应用 贪心原则 &#xff0c;选取当前状态下最好/最优的选择&#x…

快速上手Vue

目录 概念 创建实例 插值表达式 Vue响应式特性 概念 Vue是一个用于 构建用户界面 的 渐进式 框架 构建用户界面&#xff1a;基于数据渲染出用户看到的页面 渐进式&#xff1a;Vue相关生态&#xff1a;声明式渲染<组件系统<客户端路由<大规模状态管理<构建工具 V…

第十二讲 查询计划 优化

到目前为止&#xff0c;我们一直在说&#xff0c;我们得到一个 SQL 查询&#xff0c;我们希望可以解析它&#xff0c;将其转化为某种逻辑计划&#xff0c;然后生成我们可以用于执行的物理计划。而这正是查询优化器【Optimizer】的功能&#xff0c;对于给定的 SQL &#xff0c;优…

人类的智能跟人的物理存在可以分割

人类的智能和物理存在是可以分割的。人类的智能指的是人类的思维能力、认知能力、学习能力等与大脑相关的智慧。而人的物理存在指的是人的身体、器官、神经系统等与肉体相关的部分。虽然智能和物理存在紧密相连&#xff0c;但是它们是可以单独考虑和研究的。比如&#xff0c;人…

Ubuntu Desktop 免费的文件 / 目录差异比较工具 (Beyond Compare 为收费软件)

Ubuntu Desktop 免费的文件 / 目录差异比较工具 [Beyond Compare 为收费软件] 1. Installation2. Meld Diff Viewer3. Lock to LauncherReferences Meld - Visual diff and merge tool https://meldmerge.org/ Meld helps you compare files, directories, and version contro…

【MATLAB源码-第50期】基于simulink的BPSK调制解调仿真,输出误码率。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. Bernoulli Binary: 这个模块生成伯努利二进制随机数&#xff0c;即0或1。这些数字表示要传输的原始数字信息。 2. Unipolar to Bipolar Converter: 此模块将伯努利二进制数据从0和1转换为-1和1&#xff0c;这是BPSK调制的…

C语言之offsetof实现分析(九十一)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

基于Springboot+Vue的Java项目-高校心理教育辅导系统开发实战(附演示视频+源码+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &am…

Thread 类的基本用法

目录 一.线程创建 1.方法&#xff08;1&#xff09;继承Thread来创建一个线程类 2.方法(2)实现 Runnable 接⼝ 3.方法&#xff08;3&#xff09;匿名内部类创建 Thread ⼦类对象 二.线程的中断 三.线程等待 4.线程休眠 一.线程创建 Java 中的线程&#xff08;Thread&am…

001_IoT/物联网通信协议基础: HTTP、Websocket、MQTT、AMQP、COAP、LWM2M一文搞懂

001_IoT/物联网通信协议基础: HTTP、Websocket、MQTT、AMQP、COAP、LWM2M一文搞懂 文章目录 001_IoT/物联网通信协议基础: HTTP、Websocket、MQTT、AMQP、COAP、LWM2M一文搞懂创作背景通信模型ISO/OSI七层模型 和 TCP/IP四层模型网络通信数据包格式&#xff08;Ethernet II&…

在MOS管栅极前加100Ω电阻,有啥妙用

我们经常会听到在MOSFET栅极前增加一个电阻。那么&#xff0c;为什么要增加这个电阻&#xff0c;进一步地来讲&#xff0c;为什么要增加一个100Ω电阻&#xff1f; 在MOSFET的栅极前增加一个电阻&#xff1f; MOS管是电压型控制器件&#xff0c;一般情况下MOS管的导通&#x…