修改消息引擎Topic和Broker的配置参数对于系统性能优化和维护至关重要,本文档将介绍如何使用Kafka命令行工具访问和修改消息引擎配置,以帮助您及时了解和优化其配置,满足您的业务需求。
前提条件
注意事项
Lindorm消息引擎仅支持通过专有网络访问。
如果您的应用部署在ECS实例,通过专有网络访问Lindorm实例前,需确保Lindorm实例和ECS实例满足以下条件,以保证网络的连通性。
所在地域相同,并建议所在可用区相同(以减少网络延时)。
客户端实例与Lindorm实例属于同一专有网络。
管理Topic属性
修改Topic属性
语法
bin/kafka-configs.sh --bootstrap-server <Lindorm消息引擎Kafka地址> --alter --entity-type topics --entity-name <topic_name> --add-config <config_name>=<value>
参数说明
参数名称 | 描述 |
Lindorm消息引擎Kafka地址 | Lindorm消息引擎Kafka地址。获取Lindorm消息引擎Kafka地址,具体操作请参见访问实例。 |
topic_name | 需要修改属性的Topic名称。 |
config_name | Topic支持修改的属性。详情请参见Topic支持修改的属性列表。 |
value | Topic支持修改的属性的取值。详情请参见Topic支持修改的属性列表。 |
使用示例
修改名为test1的Topic属性(以修改retention.bytes属性为例),示例如下。
bin/kafka-configs.sh --bootstrap-server ld-bp1gt1f0ziui9****-proxy-stream.lindorm.rds.aliyuncs.com:30080 --alter --entity-type topics --entity-name test1 --add-config retention.bytes=1024
执行结果如下。
Completed updating config for topic test1.
结果验证
查看名为test1的Topic的属性(确认属性是否设置成功)。
bin/kafka-topics.sh --bootstrap-server ld-bp1gt1f0ziui9****-proxy-stream.lindorm.rds.aliyuncs.com:30080 --describe --topic test1
执行结果如下,retention.bytes已经成功设置为1024。
Topic: test1 PartitionCount: 100 ReplicationFactor: 1 Configs: retention.bytes=1024
Topic: test1 Partition: 0 Leader: 1 Replicas: 1 Isr: 1
Topic: test1 Partition: 1 Leader: 2 Replicas: 2 Isr: 2
Topic: test1 Partition: 2 Leader: 1 Replicas: 1 Isr: 1
删除Topic属性
语法
bin/kafka-configs.sh --bootstrap-server <Lindorm消息引擎Kafka地址> --alter --entity-type topics --entity-name <topic_name> --delete-config <config_name>
使用示例
删除名为test1的Topic属性,示例如下。
bin/kafka-configs.sh --bootstrap-server ld-bp1gt1f0ziui9****-proxy-stream.lindorm.rds.aliyuncs.com:30080 --alter --entity-type topics --entity-name test1 --delete-config retention.bytes
执行结果如下。
Completed updating config for topic test1.
结果验证
查看名为test1的Topic的属性(确认属性是否删除成功)。
bin/kafka-topics.sh --bootstrap-server ld-bp1gt1f0ziui9****-proxy-stream.lindorm.rds.aliyuncs.com:30080 --describe --topic test1
执行结果如下,可以看到retention.bytes已经删除。
Topic: test1 PartitionCount: 100 ReplicationFactor: 1 Configs:
Topic: test1 Partition: 0 Leader: 1 Replicas: 1 Isr: 1
Topic: test1 Partition: 1 Leader: 2 Replicas: 2 Isr: 2
Topic: test1 Partition: 2 Leader: 1 Replicas: 1 Isr: 1
管理Brokers属性
消息引擎仅支持设置消息引擎内的Cluster级别属性,不支持设置单个Broker级别的属性。
修改Brokers属性
语法
bin/kafka-configs.sh --bootstrap-server <Lindorm消息引擎Kafka地址> --alter --entity-type brokers --entity-default --add-config <config_name>=<value>
参数说明
参数名称 | 描述 |
Lindorm消息引擎Kafka地址 | Lindorm消息引擎Kafka地址。获取Lindorm消息引擎Kafka地址,具体操作请参见访问实例。 |
config_name | Brokers支持修改的属性。详情请参见Brokers支持修改的属性列表(消息引擎级别)。 |
value | Brokers支持修改的属性的取值。Brokers支持修改的属性。详情请参见Brokers支持修改的属性列表(消息引擎级别)。 |
使用示例
修改Brokers的属性(以修改log.retention.ms属性为例),示例如下。
bin/kafka-configs.sh --bootstrap-server ld-bp1gt1f0ziui9****-proxy-stream.lindorm.rds.aliyuncs.com:30080 --alter --entity-type brokers --entity-default --add-config log.retention.ms=2520000
执行结果如下。
Completed updating config for topic test1.
结果验证
查看Broker的属性
bin/kafka-configs.sh --bootstrap-server ld-bp1gt1f0ziui9****-proxy-stream.lindorm.rds.aliyuncs.com:30080 --describe --entity-type brokers --entity-default
执行结果如下。
Default configs for brokers in the cluster are:
log.retention.ms=2520000 sensitive=false synonyms={DYNAMIC_DEFAULT_BROKER_CONFIG:log.retention.ms=2520000}
删除Brokers属性
语法
bin/kafka-configs.sh --bootstrap-server <Lindorm消息引擎Kafka地址> --alter --entity-type brokers --entity-default --delete-config <config_name>
使用示例
删除Brokers的属性,示例如下。
bin/kafka-configs.sh --bootstrap-server ld-bp1gt1f0ziui9****-proxy-stream.lindorm.rds.aliyuncs.com:30080 --entity-type brokers --entity-default --alter --delete-config log.retention.ms
执行结果如下。
Completed updating default config for brokers in the cluster.
结果验证
查看Broker属性。
bin/kafka-configs.sh --bootstrap-server ld-bp1gt1f0ziui9****-proxy-stream.lindorm.rds.aliyuncs.com:30080 --describe --entity-type brokers --entity-default
执行结果如下。
Default configs for brokers in the cluster are:
消息引擎支持修改的参数列表
Topic支持修改的属性列表
参数名称 | 说明 | 取值 | 默认值 |
compression.type | 用于指定消息的压缩类型。 |
| 默认值为 |
retention.bytes | 用于设置Topic中存储的消息总大小的阈值。当主题中的消息总大小超过该阈值时,旧的消息将被删除以释放存储空间。单位:字节(Byte)。 | [0 ~ Long.MAX_VALUE] | 默认值为 |
retention.ms | 用于设置日志段的保留时间。它指定了日志段在被删除之前需要保留的时间。单位:毫秒(ms)。 | [-1 ~ Integer.MAX_VALUE] | 默认值为 |
max.message.bytes | 用于限制单个消息的最大大小。指定了消息的最大字节数。单位:字节(Byte)。 | [0 ~ Integer.MAX_VALUE] | 默认值为 |
cleanup.policy | 用于指定Topic清理的策略。 |
| 默认值为 |
delete.retention.ms | 用于设置删除策略下的日志段保留时间。它指定了在使用删除策略进行日志清理时,过期的日志段应保留的时间。单位:毫秒(ms)。 | [0 ~ Long.MAX_VALUE] | 默认值为 |
min.cleanable.dirty.ratio | 用于设置清理任务触发的阈值比例。它指定了一个比例,当日志段的删除比例低于该阈值时,Kafka将不会触发清理任务。该参数在cleanup.policy设置为compact时有效。 | [0 ~ 1] | 默认值为 |
Brokers支持修改的属性列表(消息引擎级别)
参数名称 | 说明 | 取值 | 默认值 |
delete.topic.enable | 用于启用或禁用删除主题的功能。 |
| 默认值为 |
log.retention.ms | 用于设置日志段的保留时间。它指定了日志段在被删除之前需要保留的时间,单位:毫秒(ms)。 | [-1 ~ Integer.MAX_VALUE] | 默认值为 |
- 本页导读 (1)