日常运维 、问题排查 怎么能够少了滴滴开源的滴滴开源LogiKM一站式Kafka监控与管控平台
1ConfigCommand
Config相关操作; 动态配置可以覆盖默认的静态配置;
1 查询配置
Topic配置查询
展示关于Topic的动静态配置
1.1.查询单个Topic配置(只列举动态配置)
sh bin/kafka-configs.sh --describe --bootstrap-server xxxxx:9092 --topic test_create_topic或者sh bin/kafka-configs.sh --describe --bootstrap-server 172.23.248.85:9092 --entity-type topics --entity-name test_create_topic
1.2.查询所有Topic配置(包括内部Topic)(只列举动态配置)
sh bin/kafka-configs.sh --describe --bootstrap-server 172.23.248.85:9092 --entity-type topics
1.3.查询Topic的详细配置(动态+静态)
只需要加上一个参数--all
其他配置/clients/users/brokers/broker-loggers 的查询
同理 ;只需要将--entity-type 改成对应的类型就行了 (topics/clients/users/brokers/broker-loggers)
broker-loggers 查询指定Broker的Logger相关配置
sh bin/kafka-configs.sh --describe --bootstrap-server xxxx:9090 --entity-type broker-loggers --entity-name 想要查询的BrokerID
查询kafka版本信息
sh bin/kafka-configs.sh --describe --bootstrap-server xxxx:9092 --version
所有可配置的动态配置 请看最后面的 附件 部分
2 增删改 配置 --alter
--alter
删除配置: --delete-config
k1=v1,k2=v2添加/修改配置: --add-config
k1,k2选择类型: --entity-type
(topics/clients/users/brokers/broker- loggers)类型名称: --entity-name
Topic添加/修改动态配置
--add-config
sh bin/kafka-configs.sh --bootstrap-server xxxxx:9092 --alter --entity-type topics --entity-name test_create_topic1 --add-config file.delete.delay.ms=222222,retention.ms=999999
Topic删除动态配置
--delete-config
sh bin/kafka-configs.sh --bootstrap-server xxxxx:9092 --alter --entity-type topics --entity-name test_create_topic1 --delete-config file.delete.delay.ms,retention.ms
添加/删除配置同时执行
sh bin/kafka-configs.sh --bootstrap-server xxxxx:9092 --alter --entity-type brokers --entity-default --add-config log.segment.bytes=788888888 --delete-config log.retention.ms
其他配置同理,只需要类型改下--entity-type
类型有: (topics/clients/users/brokers/broker- loggers)
broker-loggers 查询指定Broker的Logger相关配置
sh bin/kafka-configs.sh --describe --bootstrap-server xxxx:9090 --entity-type broker-loggers --entity-name 想要查询的BrokerID
在这里插入图片描述
哪些配置可以修改 请看最后面的附件:ConfigCommand 的一些可选配置
3. 默认配置
配置默认 --entity-default
sh bin/kafka-configs.sh --bootstrap-server xxxxx:9090 --alter --entity-type brokers --entity-default --add-config log.segment.bytes=88888888
动态配置的默认配置是使用了节点 <defalut>
;
该图转自https://www.cnblogs.com/lizherui/p/12271285.html
优先级 指定动态配置>默认动态配置>静态配置
2附件
ConfigCommand 的一些可选配置
Topic相关可选配置
key | value | 示例 |
cleanup.policy | 清理策略 | |
compression.type | 压缩类型(通常建议在produce端控制) | |
delete.retention.ms | 压缩日志的保留时间 | |
file.delete.delay.ms | ||
flush.messages | 持久化message限制 | |
flush.ms | 持久化频率 | |
follower.replication.throttled.replicas | flowwer副本限流 格式:分区号:副本follower号,分区号:副本follower号 | 0:1,1:1 |
index.interval.bytes | ||
leader.replication.throttled.replicas | leader副本限流 格式:分区号:副本Leader号 | 0:0 |
max.compaction.lag.ms | ||
max.message.bytes | 最大的batch的message大小 | |
message.downconversion.enable | message是否向下兼容 | |
message.format.version | message格式版本 | |
message.timestamp.difference.max.ms | ||
message.timestamp.type | ||
min.cleanable.dirty.ratio | ||
min.compaction.lag.ms | ||
min.insync.replicas | 最小的ISR | |
preallocate | ||
retention.bytes | 日志保留大小(通常按照时间限制) | |
retention.ms | 日志保留时间 | |
segment.bytes | segment的大小限制 | |
segment.index.bytes | ||
segment.jitter.ms | ||
segment.ms | segment的切割时间 | |
unclean.leader.election.enable | 是否允许非同步副本选主 |
Broker相关可选配置
key | value | 示例 |
advertised.listeners | ||
background.threads | ||
compression.type | ||
follower.replication.throttled.rate | ||
leader.replication.throttled.rate | ||
listener.security.protocol.map | ||
listeners | ||
log.cleaner.backoff.ms | ||
log.cleaner.dedupe.buffer.size | ||
log.cleaner.delete.retention.ms | ||
log.cleaner.io.buffer.load.factor | ||
log.cleaner.io.buffer.size | ||
log.cleaner.io.max.bytes.per.second | ||
log.cleaner.max.compaction.lag.ms | ||
log.cleaner.min.cleanable.ratio | ||
log.cleaner.min.compaction.lag.ms | ||
log.cleaner.threads | ||
log.cleanup.policy | ||
log.flush.interval.messages | ||
log.flush.interval.ms | ||
log.index.interval.bytes | ||
log.index.size.max.bytes | ||
log.message.downconversion.enable | ||
log.message.timestamp.difference.max.ms | ||
log.message.timestamp.type | ||
log.preallocate | ||
log.retention.bytes | ||
log.retention.ms | ||
log.roll.jitter.ms | ||
log.roll.ms | ||
log.segment.bytes | ||
log.segment.delete.delay.ms | ||
max.connections | ||
max.connections.per.ip | ||
max.connections.per.ip.overrides | ||
message.max.bytes | ||
metric.reporters | ||
min.insync.replicas | ||
num.io.threads | ||
num.network.threads | ||
num.recovery.threads.per.data.dir | ||
num.replica.fetchers | ||
principal.builder.class | ||
replica.alter.log.dirs.io.max.bytes.per.second | ||
sasl.enabled.mechanisms | ||
sasl.jaas.config | ||
sasl.kerberos.kinit.cmd | ||
sasl.kerberos.min.time.before.relogin | ||
sasl.kerberos.principal.to.local.rules | ||
sasl.kerberos.service.name | ||
sasl.kerberos.ticket.renew.jitter | ||
sasl.kerberos.ticket.renew.window.factor | ||
sasl.login.refresh.buffer.seconds | ||
sasl.login.refresh.min.period.seconds | ||
sasl.login.refresh.window.factor | ||
sasl.login.refresh.window.jitter | ||
sasl.mechanism.inter.broker.protocol | ||
ssl.cipher.suites | ||
ssl.client.auth | ||
ssl.enabled.protocols | ||
ssl.endpoint.identification.algorithm | ||
ssl.key.password | ||
ssl.keymanager.algorithm | ||
ssl.keystore.location | ||
ssl.keystore.password | ||
ssl.keystore.type | ||
ssl.protocol | ||
ssl.provider | ||
ssl.secure.random.implementation | ||
ssl.trustmanager.algorithm | ||
ssl.truststore.location | ||
ssl.truststore.password | ||
ssl.truststore.type | ||
unclean.leader.election.enable |
Users相关可选配置
key | value | 示例 |
SCRAM-SHA-256 | ||
SCRAM-SHA-512 | ||
consumer_byte_rate | 针对消费者user进行限流 | |
producer_byte_rate | 针对生产者进行限流 | |
request_percentage | 请求百分比 |
clients相关可选配置
key | value | 示例 |
consumer_byte_rate | ||
producer_byte_rate | ||
request_percentage |
3More
Kafka专栏持续更新中...(源码、原理、实战、运维、视频、面试视频)
【kafka运维】Kafka全网最全最详细运维命令合集(精品强烈建议收藏!!!)_石臻臻的杂货铺-CSDN博客
【kafka实战】分区重分配可能出现的问题和排查问题思路(生产环境实战,干货!!!非常干!!!建议收藏)
【kafka异常】kafka 常见异常处理方案(持续更新! 建议收藏)
【kafka运维】分区从分配、数据迁移、副本扩缩容 (附教学视频)
【kafka源码】ReassignPartitionsCommand源码分析(副本扩缩、数据迁移、副本重分配、副本跨路径迁移