第一章 DiskBalancer简介
默认情况下,DataNode使用基于轮询的策略来写入新的块。在长时间运行的集群中,由于HDFS中的大量文件删除或通过磁盘热插拔等事件,DataNode可能会创建不平衡的卷。即使您使用了基于可用空间的卷选择策略,也仍然会导致磁盘I / O效率降低(每次新的写入都写到更空磁盘,而其他磁盘空闲)。
但在5.8.2及更高的版本的CDH中引入了一种在线磁盘平衡器diskbalance人,该平衡器旨在根据各种指标重新平衡正在运行的DataNode上的卷。与HDFS平衡器类似,HDFS磁盘平衡器作为DataNode中的一个线程运行,使用相同存储类型在卷间移动块文件。
第二章 DiskBalancer操作
2.1 配置
配置hdfs-site.xml允许进行diskbalancer
2.2 执行
1)生成计划
sudo -u hdfs hdfs diskbalancer -plan cdh3
2)执行平衡
- sudo -u hdfs hdfs diskbalancer -execute /opt/cdh3.plan.json
-
- #若执行错误可用cancel命令清除
- sudo -u hdfs hdfs diskbalancer -cancel /opt/cdh3.plan.json
3)查看进度
- #显示为 PLAN_DONE 则为执行完成
- sudo -u hdfs hdfs diskbalancer -query cdh03