Kafka修改配置详解
Kafka修改配置有两个命令:kafka-topics.sh和kafka-configs.sh。kafka-topics.sh主要是修改单个topic的配置,支持修改的配置参数见附录一;kafka-configs.sh支持修改topic、broker、user和client级别的配置,支持修改的配置参数见附录二。
一、 kafka-topics.sh
1. kafka-topics.sh命令增加/修改配置命令如下:
kafka-topics.sh --alter --topic <topicName> --zookeeper <ZK业务IP:24002/kafka> --config <name=value>
2. kafka-topics.sh命令查看配置命令如下:
kafka-topics.sh --describe --topic <topicName> --zookeeper <ZK业务IP:24002/kafka>
修改后的配置会出现在Configs中。
3. kafka-topics.sh命令删除配置命令如下:
kafka-topics.sh --alter --topic <topicName> --zookeeper <ZK业务IP:24002/kafka> --delete-config <name>
配置删除后,修改的配置也会从Configs中删除。
二、 kafka-configs.sh
1. kafka-configs.sh命令增加/修改topic级别配置命令如下:
kafka-configs.sh --alter --zookeeper <ZK业务IP:24002/kafka> --add-config <name=value> --entity-name <topicName > --entity-type topics
Topic级别配置的修改,查看是否成功,依然可以使用kafka-topics.sh --describe --topic <topicName> --zookeeper <ZK业务IP:24002/kafka>命令查看Configs中是否有修改的配置。
2. kafka-configs.sh命令删除topic级别配置命令如下:
kafka-configs.sh --alter --zookeeper <ZK业务IP:24002/kafka> --delete-config <name=value> --entity-name <topicName > --entity-type topics
Topic级别配置的删除,查看是否成功,依然可以使用kafka-topics.sh --describe --topic <topicName> --zookeeper <ZK业务IP:24002/kafka>命令查看Configs中是否还存在删除的配置。
3. kafka-configs.sh命令修改broker级别配置命令如下:
修改单个broker的配置命令如下:
kafka-configs.sh --alter --bootstrap-server <kafka业务IP:port> --add-config <name=value> --entity-name <brokerID> --entity-type brokers --command-config <property file>,其中property file中security.protocol对应协议必须与使用的端口对应(使用21005端口可以不加command-config参数)。
修改所有broker的配置命令如下:
kafka-configs.sh --alter --bootstrap-server <kafka业务IP:port> --add-config <name=value> --entity-default --entity-type brokers --command-config <property file>,其中property file中security.protocol对应协议必须与使用的端口对应(使用21005端口可以不加command-config参数)。
注意:当config中对应的name是broker端不存在的配置时命令也可以执行成功,但是查看配置时对应的配置为null。
4. kafka-configs.sh命令查看broker级别配置命令如下:
查看单个broker的修改配置命令如下:
kafka-configs.sh -- describe --bootstrap-server <kafka业务IP:port> --entity-name <brokerID> --entity-type brokers --command-config <property file>,其中property file中security.protocol对应协议必须与使用的端口对应(使用21005端口可以不加command-config参数)。
查看所有broker的修改配置命令如下:
kafka-configs.sh -- describe --bootstrap-server <kafka业务IP:port> --entity-default --entity-type brokers --command-config <property file>,其中property file中security.protocol对应协议必须与使用的端口对应(使用21005端口可以不加command-config参数)。
5. kafka-configs.sh命令删除broker级别配置命令如下:
删除单个broker的配置命令如下:
kafka-configs.sh --alter --bootstrap-server <kafka业务IP:port> --delete-config <name> --entity-name <brokerID> --entity-type brokers --command-config <property file>,其中property file中security.protocol对应协议必须与使用的端口对应(使用21005端口可以不加command-config参数)。
删除所有broker的配置命令如下:
kafka-configs.sh --alter --bootstrap-server <kafka业务IP:port> --delete-config <name> --entity-default --entity-type brokers --command-config <property file>,其中property file中security.protocol对应协议必须与使用的端口对应(使用21005端口可以不加command-config参数)。
附录一:
kafka-topics.sh支持的topic级别的配置修改如下:
cleanup.policy
compression.type
delete.retention.ms
file.delete.delay.ms
flush.messages
flush.ms
follower.replication.throttled.replicas
index.interval.bytes
leader.replication.throttled.replicas
log.partition.strategy
max.message.bytes
message.format.version
message.timestamp.difference.max.ms
message.timestamp.type
min.cleanable.dirty.ratio
min.compaction.lag.ms
min.insync.replicas
preallocate
retention.bytes
retention.ms
segment.bytes
segment.index.bytes
segment.jitter.ms
segment.ms
unclean.leader.election.enable
附录二:
kafka-configs.sh支持的topic级别的配置修改如下:
cleanup.policy
compression.type
delete.retention.ms
file.delete.delay.ms
flush.messages
flush.ms
follower.replication.throttled.replicas
index.interval.bytes
leader.replication.throttled.replicas
log.partition.strategy
max.message.bytes
message.format.version
message.timestamp.difference.max.ms
message.timestamp.type
min.cleanable.dirty.ratio
min.compaction.lag.ms
min.insync.replicas
preallocate
retention.bytes
retention.ms
segment.bytes
segment.index.bytes
segment.jitter.ms
segment.ms
unclean.leader.election.enable
kafka-configs.sh支持的broker级别的配置修改如下:
log.message.timestamp.type
ssl.client.auth
log.retention.ms
sasl.kerberos.ticket.renew.window.factor
log.preallocate
log.index.size.max.bytes
ssl.truststore.type
ssl.keymanager.algorithm
log.cleaner.io.buffer.load.factor
ssl.key.password
background.threads
log.retention.bytes
ssl.trustmanager.algorithm
log.segment.bytes
log.cleaner.delete.retention.ms
log.segment.delete.delay.ms
min.insync.replicas
ssl.keystore.location
ssl.cipher.suites
log.roll.jitter.ms
log.cleaner.backoff.ms
sasl.jaas.config
principal.builder.class
log.flush.interval.ms
log.cleaner.dedupe.buffer.size
log.flush.interval.messages
advertised.listeners
num.io.threads
listener.security.protocol.map
sasl.enabled.mechanisms
ssl.truststore.password
listeners
metric.reporters
ssl.protocol
sasl.kerberos.ticket.renew.jitter
ssl.keystore.password
sasl.mechanism.inter.broker.protocol
log.cleanup.policy
sasl.kerberos.principal.to.local.rules
sasl.kerberos.min.time.before.relogin
num.recovery.threads.per.data.dir
log.cleaner.io.max.bytes.per.second
log.roll.ms
ssl.endpoint.identification.algorithm
unclean.leader.election.enable
message.max.bytes
log.cleaner.threads
log.cleaner.io.buffer.size
sasl.kerberos.service.name
ssl.provider
follower.replication.throttled.rate
log.index.interval.bytes
log.cleaner.min.compaction.lag.ms
log.message.timestamp.difference.max.ms
ssl.enabled.protocols
log.cleaner.min.cleanable.ratio
replica.alter.log.dirs.io.max.bytes.
per.second
ssl.keystore.type
ssl.secure.random.implementation
ssl.truststore.location
sasl.kerberos.kinit.cmd
leader.replication.throttled.rate
num.network.threads
compression.type
num.replica.fetchers
kafka-configs.sh支持的user级别的配置修改如下:
request_percentage
producer_byte_rate
SCRAM-SHA-256
SCRAM-SHA-512
consumer_byte_rate
kafka-configs.sh支持的client级别的配置修改如下:
request_percentage
producer_byte_rate
consumer_byte_rate
kafka-configs.sh支持的topics_limit级别的配置修改如下:
producer_byte_rate
consumer_byte_rate
说明1:附录一和附录二中的配置是651X版本支持的参数,651X之前版本可以具体执行kafka-topics.sh和kafka-config.sh命令查看--config和--add-config中的参数说明。
说明2:使用kafka-config.sh修改num.io.threads、num.network.threads、num.replica.fetchers时,只能在原设置的基础上2倍以内扩大或者1/2倍以内缩小,否则会执行报错。例如,FI中num.io.threads默认为8,直接修改为24时报错如下:
若把num.io.threads改为24,执行命令两次,先把值改为16,再改为24。
- 点赞
- 收藏
- 关注作者
评论(0)