更新时间:2025-12-26 GMT+08:00
分享

如何针对Topic进行配置增加和删除

问题描述

使用Kafka过程中常需要对特定Topic进行配置增加或者修改,应该如何操作

处理步骤

前提条件

已安装Kafka客户端。

  1. 已安装客户端,例如安装目录为“/opt/client,以下操作的客户端目录只是举例,请根据实际安装目录修改

    下载并安装集群客户端的具体操作,请参考安装MRS集群客户端

  2. 登录MRS集群Manager。

    登录集群Manager具体操作,请参考访问MRS集群Manager

  3. 获取ZooKeeper节点业务IP及端口。
    1. 选择“集群 > 服务 > ZooKeeper > 实例”,查看并记录任意一个ZooKeeper角色实例的业务IP地址。
    2. 选择“配置 > 全部配置”,搜索“clientPort”,查看并记录端口号。

      默认端口如下:

      • 开源端口默认值为:2181
      • 定制端口默认值为:24002

      端口定制/开源区分:创建LTS版本类型集群时,可以选择“组件端口”为“开源”或是“定制”,选择“开源”使用开源端口,选择“定制”使用定制端口。

  4. 以客户端安装用户,登录安装客户端的节点。
  5. 执行以下命令,切换到客户端安装目录,例如安装目录为“/opt/client,具体以实际替换
    cd /opt/client
  6. 执行以下命令配置环境变量。
    source bigdata_env
  7. 执行以下命令,进行用户认证。(集群未启用Kerberos认证(普通模式)跳过此步骤)
    kinit 组件业务用户
  8. 执行以下命令进入Kafka客户端“bin”目录。
    cd Kafka/kafka/bin
  9. 执行以下命令,针对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
  10. 执行以下命令,查询topic信息。
    kafka-topics.sh --describe -topic <topic_name> --zookeeper <zookeeper_host:port>/kafka

相关文档