您当前的位置:首页 > 电脑百科 > 硬件技术 > 硬件知识

解密HDFS如何判断磁盘存储大小,存储动态负载均衡的?

时间:2023-04-26 14:08:43  来源:微信公众号  作者:涤生大数据

DataNode在运行过程中,为了计算DN的capacity使用量,实现数据存储的动态均衡,DN会对已配置的数据存储路径(dfs.datanode.data.dir)进行du -sk操作,以此获得capacity使用量汇报给NN中,然后NN就知道哪些DN有空间能被写数据进去,哪些是空间不足的。

1. HDFS对底层的磁盘存储如何选择的?

 一个HDFS集群,会有很多个datanode节点,每个datanode节点会挂载很多块磁盘。HDFS在存储数据时如何动态负载均衡最优化地往每个datanode,每个磁盘上存储数据呢?

 其实没啥,DataNode在运行过程中,为了计算DN的capacity使用量,实现数据存储的动态均衡,DN会对已配置的数据存储路径(dfs.datanode.data.dir)进行du -sk操作,以此获得capacity使用量汇报给NN中,然后NN就知道哪些DN有空间能被写数据进去,哪些是空间不足的。

图片

为了保证数据使用量的近实时性,目前DN是以默认10分钟的间隔时间执行一次。假设按照一个DN节点12个数据目录对应12块盘的情况,就会有12个du操作在每个10分钟内都会执行一次。在datanode存储的数据使用率比较高的时候,会十分消耗性能。直接引发阻塞io,系统load直线增高。

这种问题在大规模的集群中是很常见的,下面是针对线上(hadoop2.6版本的)简易零时的优化手段。说明:此问题仅存在于低于hadoop2.8版本,高于此版本已经修复。

https://issues.apache.org/jira/browse/HADOOP-9884

如果碰到这种情况,升级不了集群版本,那么我们还有其他奇技淫巧吗?

2.通过修改HDFS代码实现优化

先回顾一下du,df的使用

du原理简述:

du命令全程disk usage,它的统计原理在于将目标路径下的当前没有被删除的文件进行大小累加,然后得出总使用量。这种计算方式在文件数量少时往往不会表现出什么问题。但是当目标路径目录多,文件多的时候,du会表现出明显的时间执行耗时。

df 原理简述:

df命令统计值通过文件系统获取的。df命令的弊端是它不能按照具体目录进行使用量的统计。df是按照所在磁盘级别进行统计的。换句话说,用df命令在属于同一块物理盘的子路径下执行df命令,获取的值会是完全一致的。比较遗憾,这种情况将无法支持DataNode多block pool共用一块盘的情况。

处理方式:使用 df 命令替换 du

捕获到datanode执行过程中调用的 du -sk 命令,替换为df -k 。

实现脚本如下:

##将原始的 du指令更换名称

mv /usr/bin/du /usr/bin/du_bak
vim /usr/bin/du
 
#!/bin/sh
if [[ $2 == */current/BP-* ]] && [ $1 == -sk ]
then
    used=`df -k $2 | grep -vE 'Used' | awk '{print $3}'`
    echo -e "$usedt$2"
else
    echo -e "$(du_bak $@)"
fi

chmod +x /usr/bin/du

3.批量部署的执行环境

跳板机(10.90.72.195)已经部署好ansible环境,配置主机名,执行ansible-playbook脚本即可。

执行路径:/home/tool/updata_datanodes_du
需要修改的配置文件:/home/tool/updata_datanodes_du/datanodes
执行脚本:./run.sh

updata_du.yml

---
- hosts: all_datanodes
remote_user: root
gather_facts: F # 跳过gather_facts环节
serial: 70 #开启的并发数
tasks:
- name: "检查主机du是否已经被部署过"
stat:
path: "/usr/bin/du_bak"
register: file_stat
- name: "同步du脚本文件到目标主机"
copy: # 使用复制模块,进行文件分发,从本地主机分发到远程主机
src: '{{ item.src }}' # 源文件,变量定义多个源文件
dest: "/tmp/" # 文件复制到目标主机的目录
owner: root
group: root
mode: 0777
with_items: # 本地源文件列表
- { src: '/home/tool/updata_datanodes_du/scp_files/du' }
when: not file_stat.stat.exists
- name: "检查du文件是否同步成功"
stat:
path: "/tmp/du"
register: tmp_du_stat
- name: "备份du文件"
command: mv /usr/bin/du /usr/bin/du_bak
when: tmp_du_stat.stat.exists
- name: "更新为新的du脚本文件"
command: mv /tmp/du /usr/bin/du
when: tmp_du_stat.stat.exists


Tags:HDFS   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
解密HDFS如何判断磁盘存储大小,存储动态负载均衡的?
DataNode在运行过程中,为了计算DN的capacity使用量,实现数据存储的动态均衡,DN会对已配置的数据存储路径(dfs.datanode.data.dir)进行du -sk操作,以此获得capacity使用量汇报给NN...【详细内容】
2023-04-26  Search: HDFS  点击:(376)  评论:(0)  加入收藏
磁盘均衡器:HDFS Disk Balancer
背景相比较于个人PC,服务器一般可以通过挂载多块磁盘来扩大单机的存储能力。服务器和磁盘在Hadoop HDFS中,DataNode负责最终数据block的存储,在所在机器上的磁盘之间分配数据块...【详细内容】
2021-12-10  Search: HDFS  点击:(445)  评论:(0)  加入收藏
大数据架构师,带你HDFS读文件过程分析:读取文件的Block数据
前言我们可以从java.io.InputStream类中看到,抽象出一个read方法,用来读取已经打开的InputStream实例中的字节,每次调用read方法,会读取一个字节数据,该方法抽象定义,如下所示:publ...【详细内容】
2021-04-09  Search: HDFS  点击:(388)  评论:(0)  加入收藏
大数据入门:HDFS文件管理系统简介
Hadoop作为大数据主流的基础架构选择,至今仍然占据着重要的地位,而基于Hadoop的分布式文件系统HDFS,也在大数据存储环节发挥着重要的支撑作用。今天的大数据入门分享,我们就主要...【详细内容】
2020-12-29  Search: HDFS  点击:(319)  评论:(0)  加入收藏
什么是HDFS?
一、HDFS介绍上篇文章已经讲到了,随着数据量越来越大,在一台机器上已经无法存储所有的数据了,那我们会将这些数据分配到不同的机器来进行存储,但是这就带来一个问题:不方便管理和...【详细内容】
2020-08-13  Search: HDFS  点击:(391)  评论:(0)  加入收藏
一文理解HDFS
一、架构原理HDFS 是Hadoop Distributed File System的简称,是HADOOP抽象文件系统的一种实现。Hadoop抽象文件系统可以与本地系统、Amazon S3等集成,甚至可以通过Web协议(webhs...【详细内容】
2020-07-25  Search: HDFS  点击:(394)  评论:(0)  加入收藏
大数据技术之Hadoop(HDFS)第4章 HDFS的数据流(面试重点)
本章大纲4.1 HDFS写数据流程4.1.1 剖析文件写入HDFS写数据流程,如图所示。HDFS写数据流程1)客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文...【详细内容】
2020-06-26  Search: HDFS  点击:(316)  评论:(0)  加入收藏
Hadoop,HDFS,HBase,Hive 有什么不同?
> Photo by Mr Cup / Fabien Barral on Unsplash 随着技术的快速变化,越来越多的数据一直在生成。据最新的全球数据领域估计,到2025年,全世界产生的数据量将增长到175 ZB。公...【详细内容】
2020-05-21  Search: HDFS  点击:(520)  评论:(0)  加入收藏
只知道HDFS和GFS?你其实并不懂分布式文件系统
分布式文件系统是分布式领域的一个基础应用,其中最著名的毫无疑问是 HDFS/GFS 。如今该领域已经趋向于成熟,但了解它的设计要点和思想,对我们将来面临类似场景/问题时,具有借鉴意义。...【详细内容】
2020-04-03  Search: HDFS  点击:(299)  评论:(0)  加入收藏
干货!大数据小白必备技能,终于搞懂了flume sink 之hdfs
flume hdfs 大数据 数据采集以下是关于一个agent的exec-hdfs.properties采集配置文件 # 定义这个agent中各组件的名字a1.sources = r1a1.sinks = k1a1.channels = c1#【Sou...【详细内容】
2019-12-02  Search: HDFS  点击:(425)  评论:(0)  加入收藏
▌简易百科推荐
华为笔记本将接入盘古大模型!全新华为MateBook X Pro即将发布
快科技4月10日消息,华为官方宣布,华为将于4月11日举办新品发布会。据了解,此次发布会将推出全新的华为MateBook X Pro,而预热海报的主题是“轻且强”。这里的“强”不仅仅是指性...【详细内容】
2024-04-10    快科技  Tags:华为笔记本   点击:(4)  评论:(0)  加入收藏
走进光纤世界:揭秘光纤接口的四大类型
光纤技术作为现代通信的基石,已经广泛应用于各种数据传输场景中。它以高速率、长传输距离、抗干扰性强、低衰减以及带宽占用小等优点,成为了数据通信领域中的重要物理层连接方...【详细内容】
2024-04-10  胜为光通信服务商    Tags:光纤接口   点击:(1)  评论:(0)  加入收藏
什么是光纤?光纤的原理是什么?你能想象没有光纤通讯的世界么?
一根像头发丝一样细的光纤改变了什么?说它改变了世界,一点也不为过。还记得老式的电脑传输吗?你下载一首歌可能需要3分钟,一部电影可能需要两小时,那时候叫做“拨号上网”;后来铜...【详细内容】
2024-04-10  知识TNT    Tags:光纤   点击:(3)  评论:(0)  加入收藏
五个多屏使用笔记本的注意事项
你是否发现自己需要频繁地在窗口之间切换,或者在你的笔记本电脑显示屏上挤满了多个窗口?是时候考虑购买第二个显示器了。 多个显示器可以显著提高工作效率,因为你有更多的屏幕...【详细内容】
2024-03-20  梁佳乐  微信公众号  Tags:笔记本   点击:(12)  评论:(0)  加入收藏
开源鸿蒙适配芯片到底都做了哪些工作?
随着智能设备市场的不断扩大和技术的进步,鸿蒙操作系统成为了备受瞩目的开源项目。作为一个全场景智能生态的基础,鸿蒙不仅仅是一个操作系统,还涉及到硬件层面的适配。然而,开源...【详细内容】
2024-01-16  触觉智能    Tags:鸿蒙   点击:(56)  评论:(0)  加入收藏
电脑主板上的纽扣电池没电时,会出现什么问题呢?
什么是纽扣电池?电脑主板上的纽扣电池通常被称为CMOS电池。是用于提供电源给主板上的实时时钟(RTC)和存储BIOS设置数据的小型电池。 纽扣电池的寿命是多久?纽扣电池的寿命通常在...【详细内容】
2024-01-14  新视力工控电脑  今日头条  Tags:纽扣电池   点击:(116)  评论:(0)  加入收藏
微软将增加Copilot专用按键 推动人工智能时代到来
微软宣布将新增Copilot键,专门用于Windows PC键盘上的人工智能(AI)助手。这意味着新的一年里,Windows将迎来重大转变,走向更为智能化的未来,让人工智能从硬件到软件全方位融入,打造...【详细内容】
2024-01-05  PChome电脑之家    Tags:Copilot   点击:(130)  评论:(0)  加入收藏
AI领衔!2023年数码硬件大事件盘点 哪个技术让你印象深刻
2023年在数码硬件领域里许许多多令人兴奋的新产品和新技术正式问世,给玩家用户们都带来了全新的体验。在这篇文章中,我们将进行2023年的数码大事件进行盘点,看看这其中哪个给你...【详细内容】
2024-01-03    中关村在线  Tags:数码硬件   点击:(47)  评论:(0)  加入收藏
双头Type-C接口:解析充电方向的奥秘
随着科技的飞速发展,电子设备之间的连接与充电方式也在不断地革新。其中,Type-C接口以其高效、便捷的特性,逐渐成为了主流。特别是双头Type-C线,更是为用户带来了前所未有的便利...【详细内容】
2024-01-02  小米地瓜    Tags:Type-C   点击:(152)  评论:(0)  加入收藏
关机、睡眠、休眠,到底选哪个?
大家每天用完电脑呢,都会面临关机的选择,但是点击了“关机”图标后,会出现下图中的这么多的选项:睡眠、休眠、关机、重启,他们到底有什么差别呢?睡眠模式:将操作系统当前的操作保存...【详细内容】
2023-12-29  ASUS华硕西南    Tags:关机   点击:(85)  评论:(0)  加入收藏
站内最新
站内热门
站内头条