
# 修改Kafka Topic配置
#### 操作场景
用户可以根据业务需要，使用集群客户端创建Kafka Topic。启用Kerberos认证的集群，需要拥有管理Kafka主题的权限。也可以通过KafkaUI修改Topic Configs。
#### 约束与限制
- 集群已启用Kerberos认证（安全模式）时，KafkaUI对修改Topic Configs场景，需保证KafkaUI登录用户属于"kafkaadmin"用户组或者单独给用户授予对应操作权限，否则将会鉴权失败。 创建用户相关操作请参考[创建Kafka用户并绑定角色](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1032.html#mrs_01_1032__section15172119027)。
  
- 集群未启用Kerberos认证（普通模式）时，KafkaUI对所有操作不做鉴权处理。
 
#### 前提条件
- 已安装客户端，例如安装目录为"/opt/client"，以下操作的客户端目录只是举例，请根据实际安装目录修改。 下载并安装集群客户端的具体操作，请参考[安装MRS集群客户端](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0089.html)。
  
- 各组件业务用户由MRS集群管理员根据业务需要创建。"机机"用户需要下载keytab文件。"人机"用户第一次登录时需修改密码。（集群未启用Kerberos认证（普通模式）时不涉及） 创建用户相关操作请参考[创建Kafka用户并绑定角色](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1032.html#mrs_01_1032__section15172119027)。
  
 
#### 使用Kafka客户端修改Kafka Topic
1. 登录MRS集群Manager。 
   登录集群Manager具体操作，请参考[访问MRS集群Manager](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)。
   
   
2. 获取Kafka节点业务IP及端口。 
   1. 选择"集群 \> 服务 \> Kafka \> 实例"，查看并记录任意一个Broker角色实例的业务IP地址。
   
   2. 选择"配置 \> 全部配置"，并根据集群模式获取端口号：
      - 集群已启用Kerberos认证（安全模式）：搜索"sasl.port"参数，查看并记录端口号，默认为21007。
      
      - 集群未启用Kerberos认证（普通模式）：搜索"port"参数，查看并记录端口号，默认为9092。
       
   
   
   
   
3. 获取ZooKeeper节点业务IP及端口。 
   1. 选择"集群 \> 服务 \> ZooKeeper \> 实例"，查看并记录任意一个ZooKeeper角色实例的业务IP地址。
   
   2. 选择"配置 \> 全部配置"，搜索"clientPort"，查看并记录端口号。 创建LTS版本类型集群时，可以选择"组件端口"为"开源"场景或"定制"场景，选择"开源"时ZooKeeper默认端口为2181，选择"定制"时ZooKeeper默认端口为24002。
      
   
   
   
   
4. 以客户端安装用户，登录安装客户端的节点。
5. 执行以下命令，切换到客户端安装目录，例如安装目录为"/opt/client"，具体以实际替换。 
   ```
   cd /opt/client
   ```
   
   
6. 执行以下命令配置环境变量。 
   ```
   source bigdata_env
   ```
   
   
7. 执行以下命令，进行用户认证。（集群未启用Kerberos认证（普通模式）时跳过此步骤） 
   ```
   kinit 组件业务用户
   ```
   
   
8. 执行以下命令进入Kafka客户端"bin"目录。 
   ```
   cd Kafka/kafka/bin
   ```
   
   
9. 使用**kafka-topics.sh** 修改主题：
   
   ```
   ./kafka-topics.sh --alter --topic 主题名称 --config 配置项=配置值 --zookeeper ZooKeeper的任意一个节点的业务IP:clientPort/kafka
   ```
   
   
10. 使用**kafka-topics.sh** 查看修改后主题：
    
    - **方法一：**
      ```
      ./kafka-topics.sh --describe --zookeeper ZooKeeper的任意一个节点的业务IP:clientPort/kafka --topic 主题名称
      ```
      
    
    - **方法二：**
      ```
      ./kafka-topics.sh --describe --bootstrap-server Kafka集群IP:21007 --command-config ./config/client.properties --topic 主题名称
      ```
      
    
    
    
    
 
#### 使用KafkaUI修改Kafka Topic
1. 使用具有KafkaUI页面访问权限的用户登录FusionInsight Manager。 
   登录集群Manager具体操作，请参考[访问MRS集群Manager](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)。
   
   
2. 选择"集群 \> 服务 \> Kafka"。
3. 在"KafkaManager Web UI"右侧，单击URL链接，进入KafkaUI的页面。
4. 单击"Topics"，进入Topic管理页面。
5. 在待修改项的"Operation"列单击"Action \> Config"，弹出的页面中可修改Topic的"Key"和"Value"值，如需要添加多条，可单击![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001945311921.png)添加。单击"OK"完成修改。
   
   图1修改Kafka Topic配置   
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002530769001.png "点击放大")
   如果需要删除Topic，请在待修改项的"Operation"列选择"Action \> Delete"。在弹出的确认信息页面中单击"OK"即可完成删除。
   **系统默认内置的Topic不支持删除操作。**
   
   
 
#### 相关文档
- 创建Kafka Topic相关操作请参考[创建Kafka Topic](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_24136.html)。
- 关于Kafka UI页面详细介绍及操作，请参考[登录KafkaUI界面](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_24135.html)。
 
