如何针对Topic进行配置增加和删除
问题描述
使用Kafka过程中常需要对特定Topic进行配置增加或者修改,应该如何操作。
处理步骤
前提条件
已安装Kafka客户端。
- 已安装客户端,例如安装目录为“/opt/client”,以下操作的客户端目录只是举例,请根据实际安装目录修改。
下载并安装集群客户端的具体操作,请参考安装MRS集群客户端。
- 登录MRS集群Manager。
登录集群Manager具体操作,请参考访问MRS集群Manager。
- 获取ZooKeeper节点业务IP及端口。
- 以客户端安装用户,登录安装客户端的节点。
- 执行以下命令,切换到客户端安装目录,例如安装目录为“/opt/client”,具体以实际替换。
cd /opt/client - 执行以下命令配置环境变量。
source bigdata_env
- 执行以下命令,进行用户认证。(集群未启用Kerberos认证(普通模式)时跳过此步骤)
kinit 组件业务用户 - 执行以下命令进入Kafka客户端“bin”目录。
cd Kafka/kafka/bin
- 执行以下命令,针对Topic修改配置和删除配置。
kafka-topics.sh --alter --topic <topic_name> --zookeeper <zookeeper_host:port>/kafka --config <name=value>
删除配置:
kafka-topics.sh --alter --topic <topic_name> --zookeeper <zookeeper_host:port>/kafka --delete-config <name>
Topic级别可以修改的参数列表如下:
- cleanup.policy
- compression.type
- delete.retention.ms
- file.delete.delay.ms
- flush.messages
- flush.ms
- index.interval.bytes
- max.message.bytes
- min.cleanable.dirty.ratio
- min.insync.replicas
- preallocate
- retention.bytes
- retention.ms
- segment.bytes
- segment.index.bytes
- segment.jitter.ms
- segment.ms
- unclean.leader.election.enable
例如,执行以下命令,修改名称为test1的Topic中“retention.ms”参数值为“86400000”:
kafka-topics.sh --alter --topic test1 --zookeeper 192.168.100.100:2181/kafka --config retention.ms=86400000
例如,执行以下命令,删除名称为test1的Topic中“retention.ms”参数:
kafka-topics.sh --alter --topic test1 --zookeeper 192.168.100.100:2181/kafka --delete-config retention.ms
- 执行以下命令,查询topic信息。
kafka-topics.sh --describe -topic <topic_name> --zookeeper <zookeeper_host:port>/kafka