Ambari部署环境下HDFS磁盘已满,如何扩展HDFS存储?
嘿,我来帮你搞定这两个HDFS存储扩展的问题,都是运维中高频遇到的场景,咱们一步步拆解:
一、手动部署场景下扩展HDFS磁盘
如果你的HDFS是手动部署、没有用Ambari管理的,按以下步骤操作:
- 步骤1:准备并挂载新磁盘
先给目标节点安装好物理磁盘(或挂载云盘),然后分区、格式化,比如执行mkfs.ext4 /dev/sdb1;接着创建挂载目录(比如mkdir -p /data/hadoop/dfs/data2),修改/etc/fstab添加挂载规则后执行mount -a确保挂载生效;最后给目录设置HDFS运行用户的权限:chown -R hdfs:hadoop /data/hadoop/dfs/data2。 - 步骤2:修改HDFS配置
找到集群的hdfs-site.xml配置文件,定位dfs.datanode.data.dir参数,把新的挂载路径追加到现有列表里,比如原来的是file:///data/hadoop/dfs/data1,修改后变成file:///data/hadoop/dfs/data1,file:///data/hadoop/dfs/data2。 - 步骤3:刷新DataNode并验证
在NameNode节点执行命令hdfs dfsadmin -refreshNodes,让集群识别新的存储路径。之后可以查看DataNode节点日志,或者执行hdfs dfsadmin -report,确认新磁盘空间已被HDFS识别。 - 步骤4:平衡集群数据
新磁盘加入后数据会自动分配,但如果想加速平衡,执行hdfs balancer -threshold 10(阈值设为10%,避免过度平衡),直到终端显示“Balancer run completed successfully”即可。
二、Ambari部署环境下HDFS磁盘满时的存储扩展
用Ambari管理的集群操作更便捷,不用手动修改配置文件,步骤如下:
- 步骤1:节点端准备磁盘
和手动场景一致,先在需要扩展的DataNode节点上完成新磁盘的分区、格式化、挂载,设置好HDFS用户权限,确保挂载目录能正常访问。 - 步骤2:通过Ambari添加存储路径
登录Ambari管理界面,进入HDFS服务页面,点击顶部的「Configs」标签,左侧菜单选择「Data Node」分类,找到「Data Node Data Directories」配置项,点击编辑按钮,把新的挂载路径(比如/data/hadoop/dfs/data2)添加到列表中,保存配置。 - 步骤3:重启HDFS相关服务
Ambari会提示需要重启受影响的服务(一般是DataNode和JournalNode,HA集群场景),按照提示完成服务重启。重启后可在Ambari的「Hosts」页面,查看对应节点的HDFS存储使用情况,确认新磁盘已被纳入管理。 - 步骤4:启动数据平衡
在Ambari的HDFS服务页面,点击顶部的「Actions」下拉菜单,选择「Run Balancer」,设置平衡阈值(比如10%)后启动任务。等待任务完成,集群数据会均匀分布到新磁盘上,缓解原有磁盘的满容量压力。
注意:不管是哪种场景,扩展前最好先备份重要数据,并且在业务低峰期操作,避免影响正常服务。
内容的提问来源于stack exchange,提问作者Wiem Bel Hadj
相关产品推荐
相关产品推荐

