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

更改Kafka Broker的存储目录

操作场景

增加Broker的存储目录时,MRS集群管理员需要在Manager中修改Broker的存储目录(由参数“log.dirs”控制),以保证Kafka正常工作,新创建的主题分区将在分区最少的目录中生成。

该操作适用于以下场景:

  • 更改Broker角色的存储目录,所有Broker实例的存储目录将同步修改。
  • 更改Broker单个实例的存储目录,只对单个实例生效,其他节点Broker实例存储目录不变。

约束与限制

由于Kafka不感知磁盘容量,建议各Broker实例配置的磁盘个数和容量保持一致。

对系统的影响

  • 更改Broker角色的存储目录需要重新启动服务,服务重启时无法访问。
  • 更改Broker单个实例的存储目录需要重新启动实例,该节点Broker实例重启时无法提供服务。
  • 服务参数配置如果使用旧的存储目录,需要更新为新目录。

前提条件

  • 在各个数据节点准备并安装好新磁盘,并格式化磁盘。
  • 已安装好Kafka客户端。
  • 更改Broker单个实例的存储目录时,保持活动的Broker实例数必须大于创建主题时指定的备份数。

更改Kafka角色的存储目录

  1. 登录MRS集群Manager。

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

  2. 选择“集群 > 服务 > Kafka > 实例”,查看并记录Kafka角色的业务IP地址。
  3. root用户登录到安装Kafka服务的各个数据节点中,执行如下操作。

    1. 创建目标目录。

      例如目标目录为“${BIGDATA_DATA_HOME}/kafka/data2”,则执行以下命令:

      mkdir ${BIGDATA_DATA_HOME}/kafka/data2
    2. 挂载目录到新磁盘。

      例如挂载“${BIGDATA_DATA_HOME}/kafka/data2”到新磁盘。

    3. 修改新目录的权限。

      例如新目录路径为“${BIGDATA_DATA_HOME}/kafka/data2”,则执行以下命令:

      chmod 700 ${BIGDATA_DATA_HOME}/kafka/data2 -R
      chown omm:wheel ${BIGDATA_DATA_HOME}/kafka/data2 -R

  4. 在MRS集群Manager页面,选择“集群 > 服务 > Kafka > 配置 > 全部配置”。
  5. 添加新目录到“log.dirs”的默认值后面。

    搜索“log.dirs”参数,将新目录添加到配置项“log.dirs”的默认值后面,多个目录使用逗号分隔。

    例如“${BIGDATA_DATA_HOME}/kafka/data1/kafka-logs,${BIGDATA_DATA_HOME}/kafka/data2/kafka-logs”。

  6. 单击“保存”,并单击“确定”。界面提示“操作成功”,单击“完成”。
  7. 选择“集群 > 服务 > Kafka ,右上角选择“更多 > 重启服务”,重启Kafka服务后生效

更改Kafka单个实例的存储目录

  1. 登录MRS集群Manager。

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

  2. 选择“集群 > 服务 > Kafka > 实例”,查看并记录待操作的Broker角色的业务IP地址。
  3. root用户登录到Broker节点,执行如下操作。

    1. 创建目标目录。

      例如目标目录为“${BIGDATA_DATA_HOME}/kafka/data2”,则执行以下命令:

      mkdir ${BIGDATA_DATA_HOME}/kafka/data2
    2. 挂载目录到新磁盘。

      例如挂载“${BIGDATA_DATA_HOME}/kafka/data2”到新磁盘。

    3. 修改新目录的权限。

      例如新目录路径为“${BIGDATA_DATA_HOME}/kafka/data2”,则执行以下命令:

      chmod 700 ${BIGDATA_DATA_HOME}/kafka/data2 -R
      chown omm:wheel ${BIGDATA_DATA_HOME}/kafka/data2 -R

  4. 登录FusionInsight Manager,选择“集群 > 服务 > Kafka > 实例”。
  5. 单击待操作的Broker实例名称,选择“实例配置”。
  6. 搜索“log.dirs”参数,将新目录添加到配置项“log.dirs”的默认值后面,多个目录使用逗号分隔。

    例如“${BIGDATA_DATA_HOME}/kafka/data1/kafka-logs,${BIGDATA_DATA_HOME}/kafka/data2/kafka-logs”。

  7. 单击“保存”,并单击“确定”,界面提示“操作成功”,单击“完成”。
  8. 在Broker实例概览页面选择“更多 > 重启实例”,重启Broker实例后生效

相关文档

相关文档