大数据集群节点磁盘负载不均衡怎么办?
大家好,我是明哥!
“大数据集群节点磁盘负载不均衡”的问题,相信大数据集群管理员并不陌生, 本片文章,我们就简单分享下,如何应对上述问题。
问题现象
大数据集群使用一段时间后,有时我们会发现大数据集群中某些节点的多块磁盘的负载不均衡,比如某些磁盘使用率达到了百分之七八十,有的才百分之二三十。
问题原因
造成以上问题的背景和原因,很多时候是因为,我们在使用过程中,发现某些磁盘损坏后,使用新磁盘进行了替换,或者当发现HDFS容量不够需要扩展空间时,由运维管理人员陆陆续续为 datanode 节点增加了多块磁盘,并将这些磁盘挂载到了不同目录比如 /mnt/disk1, /mnt/disk2;此后由大数据系统管理人员配置 HDFS 使用了这些新的磁盘上的目录 (比如配置 dfs.datanode.data.dir=/mnt/disk1/dfs/data,/mnt/disk2/dfs/data,/mnt/disk3/dfs/data),并重启了 hdfs 服务使配置生效。
但是hdfs经过上述配置更改并重启生效之后,只有新增加的HDFS文件才会存储在新增加的目录下,已经存在的HDFS历史文件,其对应的底层数据是不会从原有目录移动到新增目录的。
即使使用了命令 hdfs balancer 来在集群内重新分布 HDFS 文件,由于该命令只会在不同host之间移动数据,也就是主要做的是 host 节点级别的负载均衡,上述单节点中多磁盘之间的负载不均衡问题,也不会由太大缓解。
注意:在 CDH 中,上述节点级别的负载