HDFS数据平衡分成两种,节点间的和节点内的。节点内的就是但个节点多个存储路径(不但是路径不同,而且是不同磁盘)。
第一种可以:集群》HDFS》操作》重新平衡。
这里是第二种。
添加配置
进入cloudera manager,集群》HDFS》配置
查找
1 |
|
增加
1 | dfs.disk.balancer.enabled 值为 true |
然后保存配置。
重启
集群》HDFS》操作》重启
生成计划
登录需要平衡的节点,生成相关计划
1 | hdfs diskbalancer -plan 节点名称(计算机名称) |
正常会生成一个json文件。不正常的见过两种,一种是每开启功能,就是上面的配置没添加或者没重启了另一种是程序分析完不需要重新平衡,所以没有计划,比如两个文件目录是一个磁盘,就算不平衡也不会生成计划。
执行计划
1 | hdfs diskbalancer -execute 生成的json |
查询进度
1 | hdfs diskbalancer -plan 节点名称(计算机名称) |