某hadoop集群的某个datanode节点主机有坏盘,但是没有配件及时更换,当几天后更换,启动datanode节点时,CM界面显示对应的XDYDAT10主机可用空间告警。如下图:
检查该datanode空间使用情况:hdfs使用率86.88%,剩余空间976.62GB,但是主机单个磁盘空间大都100%。如下图:
而且执行数据均衡时,显示“Thecluster is balanced”,程序退出。
通过CM界面,在HDFS实例界面,选择XDYDAT10,停止其datanode服务。如下图:
若干小时后(本次操作是3小时左右后),通过CM界面,在HDFS实例界面,选择XDYDAT10,启动其datanode服务。如下图:
XDYDAT10主机datanode服务启动后,再次检查空间使用情况:可用空间都在400GB以上。如下图:
并且检查所有datanode节点,停止和启动节点前后,hdfs使用情况:停止datanode服务前,很多空间使用达100%(如下左图);停止再次启动后,空间有所均衡,无100%使用情况(如下右图)。
最后,再次执行均衡操作,能正常执行数据均衡,等待数据均衡即可。
因当前发生问题的为老版本的cloudera集群(CDH5.2.1),在CDH5.10以前,balancer程序只会在节点之间平衡,当所有节点与集群之间已经平衡的情况下,运行balancer程序并不会发生任何数据的迁移和转移,只能采用本文使用的方法进行尝试,停止磁盘空间紧张的节点,让hdfs为了维持数据的3副本在其他数据节点生成已停止的datanode那部分冗余数据,然后再启动停止的datanode,以达到迁移数据的目的,释放部分紧张的空间,但是此法并不智能。
在CDH5.10以后,hdfs加入了diskbalancer程序,可以在某个数据节点内部,对多个磁盘数据使用率偏差太大的情况进行平衡,此方法更智能更安全。
参数如下图:
本案例,启停磁盘空间不足的datanode节点后,再使用hdfsbalancer -threshold 1运行均衡器进行数据均衡,最终达到集群数据均衡。
HDFS均衡器是Hadoop提供的工具,使用该工具可以将数据从空间使用率高的datanodes移动数据块到利用不足的datanode节点,从而均衡集群的DataNode数据。其中threshold参数表示每个datanode的HDFS使用率于集群的平均DFS利用率的偏差百分比。另外,若直接运行hdfsbalancer时,偏差百分比默认值为10%。
最后,希望以上解释说明对各位有所帮助,谢谢。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/130029.html
摘要:如果长时间之后,集群的数据量还是不均衡,可以在集群管理页面提交数据均衡请求,如下图数据均衡数据均衡也可以在节点提交均衡命令是判断集群是否平衡的目标参数。 Hadoop本篇目录访问HDFS数据提示Operation category READ is not supported in state standby?为什么HDFS实际可用空间比配置的小?为什么/home/hadoop/etc/had...
摘要:助辅助做元数据的备份。元数据存储在内存和磁盘中,这是因为磁盘的读写效率较低,而保存到内存又有断电消失的隐患。但磁盘中的元数据并不是最新的,内存中的元数据才是实时的。将中的和复制到自身节点上并加载进内存,根据的记录操作更改元数据信息。 HDFS(Hadoop Distributed File System ) 前言:最近正式进入了大数据框架的学习阶段,文章来自个人OneNote笔记全部...
阅读 1346·2023-01-11 13:20
阅读 1684·2023-01-11 13:20
阅读 1132·2023-01-11 13:20
阅读 1858·2023-01-11 13:20
阅读 4100·2023-01-11 13:20
阅读 2704·2023-01-11 13:20
阅读 1385·2023-01-11 13:20
阅读 3597·2023-01-11 13:20