在做集群进行规划的时候,机架设置不合理,有的机架只有2台机器,有的机架1台机器,还有的机架10台,甚至20+以上机器,每个机架上面的机器数量严重不均衡,导致hdfs的datanode数据分布不均衡,在某些节点上磁盘使用率很高,甚至到100%,而其他节点却很空闲。
如何定位是否是机架设置不合理导致datanode数据不均衡方法?
1、从Namenode主节点上,通过url进入原生界面查看“datanodes”页面,查看哪些datanode磁盘使用率高(可以进行升序或降序排序)。
2、查看主机管理页面,确认各datanode节点机架信息。如果各机架中,datanode节点数量差距大,即可能导致数据不均衡,如20个节点在相同机架,其他6个节点分别在不同机架(假设集群datanode节点数为26个),会导致节点间磁盘使用率不均匀。
机架设置不合理解决办法:
重新设置机架,使各机架datanode节点数据尽量均衡,设置机架,可以根据物理机架来进行分配,也可以通过设置逻辑机架来进行调配。
机架设置注意事项:
1、机架名称需遵循实际网络拓扑结构,以层级形式表示;各层级间以斜线“/”隔开,机架命名规则为:“/level1/level2/…”,级别至少为一级,名称不能为空。机架名称由字母、数字及下划线“_”组成,且总长度不超过200个字符。
例如:/Fs_203/rack0。
2、请确保所有DataNode实例所在主机的机架名称的层级一致。否则,会导致配置下发失败
重点:
设置机架完成后,它不会立即生效,需要做如下操作:
1、重启主备namenode,先重启standby Namenode,然后再重启active Namenode,然后再滚动重启datanode节点。
2、重启主备resourcemanager,先重启standby ResourceManager,然后再重启active ResourceManager,然后再滚动重启Nodemanager节点。
3、重新执行balance(这里)
3.1 在执行balance前,建议修改balance的最大带宽:
hdfs dfsadmin -setBalancerBandwidth 20971520
单位字节,20971520=20MB/s,为默认值,根据集群带宽,适当调整
3.2 执行balance命令,threshold表示hdfs数据达到平衡状态时datanode磁盘使用率偏差值
hadoop/sbin/start-balancer.sh -threshold 10
调整机架对业务的影响:
1、调整机架,理论上不影响业务,可能会出现短暂的业务中断,推荐业务闲时,进行机架调整,将业务影响降到最低。

本文探讨了Hadoop平台中由于机架设置不均衡导致的数据分布问题,表现为某些节点磁盘使用率过高而其他节点空闲。解决办法包括重新设置机架,确保各节点数据均衡,并提供了解决过程及注意事项,包括重启Namenode和ResourceManager,以及执行数据平衡操作。
299

被折叠的 条评论
为什么被折叠?



