喵星之旅-调皮的大象-CDH对HDFS数据平衡

HDFS数据平衡分成两种,节点间的和节点内的。节点内的就是但个节点多个存储路径(不但是路径不同,而且是不同磁盘)。

第一种可以:集群》HDFS》操作》重新平衡。

这里是第二种。

添加配置

进入cloudera manager,集群》HDFS》配置
查找

1
2

hdfs-site.xml 的 HDFS 服务高级配置代码段

增加

1
dfs.disk.balancer.enabled 值为 true

然后保存配置。

重启

集群》HDFS》操作》重启

生成计划

登录需要平衡的节点,生成相关计划

1
2
3
4
5
6
7
8
9
hdfs diskbalancer -plan  节点名称(计算机名称)

我这里是5台机器(实际情况,一台执行完该文章所有步骤,再执行的下一台机器),分别是
hdfs diskbalancer -plan cdh01
hdfs diskbalancer -plan cdh02
hdfs diskbalancer -plan cdh03
hdfs diskbalancer -plan cdh04
hdfs diskbalancer -plan cdh05

正常会生成一个json文件。不正常的见过两种,一种是每开启功能,就是上面的配置没添加或者没重启了另一种是程序分析完不需要重新平衡,所以没有计划,比如两个文件目录是一个磁盘,就算不平衡也不会生成计划。

执行计划

1
2
3
4
hdfs diskbalancer -execute 生成的json

比如(具体需要看上一步生成内容):
hdfs diskbalancer -execute /system/diskbalancer/cdh01.plan.json

查询进度

1
2
3
4
hdfs diskbalancer -plan  节点名称(计算机名称)

比如
hdfs diskbalancer -query cdh01
文章目录
  1. 添加配置
  2. 重启
  3. 生成计划
  4. 执行计划
  5. 查询进度
|