更改Kafka Broker的存储目录
操作场景
增加Broker的存储目录时,MRS集群管理员需要在Manager中修改Broker的存储目录(由参数“log.dirs”控制),以保证Kafka正常工作,新创建的主题分区将在分区最少的目录中生成。
该操作适用于以下场景:
- 更改Broker角色的存储目录,所有Broker实例的存储目录将同步修改。
- 更改Broker单个实例的存储目录,只对单个实例生效,其他节点Broker实例存储目录不变。
约束与限制
由于Kafka不感知磁盘容量,建议各Broker实例配置的磁盘个数和容量保持一致。
对系统的影响
- 更改Broker角色的存储目录需要重新启动服务,服务重启时无法访问。
- 更改Broker单个实例的存储目录需要重新启动实例,该节点Broker实例重启时无法提供服务。
- 服务参数配置如果使用旧的存储目录,需要更新为新目录。
前提条件
- 在各个数据节点准备并安装好新磁盘,并格式化磁盘。
- 已安装好Kafka客户端。
- 更改Broker单个实例的存储目录时,保持活动的Broker实例数必须大于创建主题时指定的备份数。
更改Kafka角色的存储目录
- 登录MRS集群Manager。
登录集群Manager具体操作,请参考访问MRS集群Manager。
- 选择“集群 > 服务 > Kafka > 实例”,查看并记录Kafka角色的业务IP地址。
- 以root用户登录到安装Kafka服务的各个数据节点中,执行如下操作。
- 在MRS集群Manager页面,选择“集群 > 服务 > Kafka > 配置 > 全部配置”。
- 添加新目录到“log.dirs”的默认值后面。
搜索“log.dirs”参数,将新目录添加到配置项“log.dirs”的默认值后面,多个目录使用逗号分隔。
例如“${BIGDATA_DATA_HOME}/kafka/data1/kafka-logs,${BIGDATA_DATA_HOME}/kafka/data2/kafka-logs”。
- 单击“保存”,并单击“确定”。界面提示“操作成功”,单击“完成”。
- 选择“集群 > 服务 > Kafka ,右上角选择“更多 > 重启服务”,重启Kafka服务后生效。
更改Kafka单个实例的存储目录
- 登录MRS集群Manager。
登录集群Manager具体操作,请参考访问MRS集群Manager。
- 选择“集群 > 服务 > Kafka > 实例”,查看并记录待操作的Broker角色的业务IP地址。
- 以root用户登录到Broker节点,执行如下操作。
- 登录FusionInsight Manager,选择“集群 > 服务 > Kafka > 实例”。
- 单击待操作的Broker实例名称,选择“实例配置”。
- 搜索“log.dirs”参数,将新目录添加到配置项“log.dirs”的默认值后面,多个目录使用逗号分隔。
例如“${BIGDATA_DATA_HOME}/kafka/data1/kafka-logs,${BIGDATA_DATA_HOME}/kafka/data2/kafka-logs”。
- 单击“保存”,并单击“确定”,界面提示“操作成功”,单击“完成”。
- 在Broker实例概览页面选择“更多 > 重启实例”,重启Broker实例后生效。
相关文档
- 如果MRS集群上报ALM-38001告警,请参考ALM-38001 Kafka磁盘容量不足进行处理。
- 如果MRS集群上报ALM-38009告警,请参考ALM-38009 Broker磁盘IO繁忙进行处理。