您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页运用Hadoop高效存储海量碎片文件的方法

运用Hadoop高效存储海量碎片文件的方法

来源:化拓教育网
数据库技术·Data Base Technique 运用Hadoop高效存储海量碎片文件的方法 文/刘扬刘冰 实现,故选取稳定的Openjdk一8-jdk版本进行 要放在内存中。其中,saveFSlmage方法( I妻篓 萎曩萎 窆萎量差 粪 Java环境的配置。 完成伪分布式hadoop部署后启动 数代表内存元数据将要保存的位置,磁盘f 有块空间,对元数据进行持久化存储, hadoop将预先准备好的75K个文件从本地存 fsimage,如果直接读取磁盘文件,速度{ 储到hdfs分布式文件系统中,在一次性存储 跟不上,内存中也要放一些元数据信息, 如此大量文件时,虚拟机出现了短暂性死机情 况,几分钟后,shell出现大量警告,如图1。 着手开始分析出现警告的原因,使用hdfs shell命令查看hdfs分布式文件系统上存储数 据的文件,发现只有部分文件被成功的从本地 存储到分布式文件系统,这说明所执行的命令 没有错误。那究竟是什么原因导致还有大量的 很容易丢失,但可以提供查询服务,实际 是读写分离.由读写分离就有了数据一致t 问题,因为写入数据,没有写入内存中, 的元数据记录在哪呢?实际上是记录在‘ 小的文件中,这个文件不提供修改,只提f 加,以日志的形式记录,一直都保持着,L 大小,名为edits***.1og,比如在卜传‘ 文件没有被成功存储到分布式文件系统上?带 【关键词】Hadoop碎片化 存储文件的相关资料。 首先,hdfs分布式文件系统的存储分 件时,先对NAMENODE进行询问,往哪里! 信息记录edits**.1og,当完成一个副本的! 工作后,通知NAMEN0DE,被认为是写 功,这时,将edits**.1og的数据更新至内 着这个疑问,开始查询hdfs分布式文件系统 NAMEN0DE一边分配一边记录,将空间 为元数据存储和真实数据存储,元数据存 在日前 位使用的综合管理信息系统中, 储在namenode节点上,真实数据则存储在 此时,内存中的数据是最新的,即使现在断 datanode节点上,结合本次实验环境,所部署 最新的元数据在edits*+.1og也有保存。 的是ubuntu下的伪分布式hadoop,datanode 既然如此,之前遇到的警告就是因  节点和namenode节点在同一台虚拟机上,所 存的原因使得件没有全部都存储到hdfs以元数据和真实的数据都是存储在同一台虚拟 式文件系统中,有一部分存储成功,很容 机上的。在分析原因的过程中,我注意到了 一应用层中体现为多用户并发访问系统出现数据 传输过慢造成大量的数据延迟,系统卡死以及 用户掉线的情况。在系统底层体现为CPU和 内存使用率长时间保持 较高状态。 为J,优化并提高系统整体效能,从根本 l二解决系统碎片化处理问题,找到解决碎片化 人联想到是不是因为内1字不足导致的呢? Namenode元数据在内存中所占空间自 个地方,就是hdfs分布式文件系统不适合 处理的方法和机制,所以我们进行了本次实验。 实验环境如衷I所示。 实验选取功能相对VirtualBox更强的  做的事一一存储大量小文件。因为namenode 算方法如表2。元数据在内存中所占空间包禽文件 要存储HDFS的metadata(比如目录的树状 结构,每个文件的文件名、ACL、长度、 owner、文件内容存放的位置等等信息)会受 到namenode内存的。分析到这里似乎找 到了出现警告的根源。 根据分析得知namenode节点的元数据需 两部分,由于实验环境为伪分布武Hadoo 文件块的副本数目为一,忽略文件名长度 算结果的影响,分步计算过程如下: 文件所占内存: 75000*】00"l000B≈750MB VMware Workstation虚拟机软件,以学院服务 器使用的Ubunlu】6.04作为虚拟机的操作系 统,同时使用稳定的Hadoop一2.7-4部署伪分布 式Hadoop实验环境,Hadoop的源代码由Java 图1 166·电子技术与软件工程Electronic Technology&Software Engineering Data Base Technique·数据库技术 l l I \ \[¨e l . /I F e I e 毒 I 图3:归档丈件建立成功 图2:HAR Fi l e布局图 块所lIi内存: 5000 (250 1 000B+24 1 1≈750MB 优化前内存 使用情况 优化后内存 使用情况 汁t算无数据需要总内仃: 750MB+750MB=1.5GB 然而这}{足'卡}{略计鳟, rf】并没有包禽 块信息和其他信息.实际情况会比所汁算的结 果彩 } 多。通过使用hdfs的oiv和Is这两 口 圈4 个命令测得namenode 际使用内存大约2.2G, 而 实验环境r}】分给虚拟机内存『哪r足2.5G。 直到现舀 ,之 d遇到的M题才真J 得到【J 确 的解答。训:我更进‘ 地r解hdfs分布式史 什系统行储的机制。hdfs分布式丈件系统无法 舟效完成对海最碎片文件的仃储,仔细想 想 的足这样,L 个文什会【 据2 2G内仃的 硬件资源,那七r‘万个文件,7, 七亿个文件, 访IU铒‘个史 :,f【J足_j{汝彳J‘ j 门 缩的J: 能, 除此之外,archive艾什 I f刨建就厄法L 变, 这就意味这你硬改 创建archive丈件 提高 并 f1:系统响J、 币【】j1:技响J、 tI 也彳丁』,} 人的提- ,这样 来我们- 以行…十勾建 j炙 q的I. ,你 雨 r】 力 x J_】 J 化处Jq!JB ̄』 数{l f¨ e化}‘分仃 l效,也址找ffj找…J 这样 策系统优化f¨提 n勺新思路.. Hadoop archive lI1包禽 将会 据多少的内仃硬什资源,而‘个夫型的 分佑式系统, 存储大文件时所, ,} 的“碎片” 文件的数量足 叮预估的, 务之急足针对这 个问题提出‘种行之有效的解决,J法。 1 提到的Namenode元数据所需内存 的计静公式 }II注意剑所需内存大小 文件名 长度彳『很人笑系,那么,如果能够找到‘种方 法,能够像windows和linux操作系统7j『5样吱 现对艾什的 缩,魁/f 是能够仃效的解决这个 问题呢? 两种文什,分刖屉 数据和数 艾什,兀数据 以两利』形式仃 :一文rf-, 从 一index手¨masterindex index丈什tI 包 J l』 丈 一所 】2所示彳1 局 巾 U以 …, 参考文献 [1]查礼.基于Hadoop的大数据计算技术[J 科研信息化拔术与应用,2 01 2(O 6). 丈什的史川: 车¨位置 息。 Masterindex指16J index.index的捋个部分则 指向d-:同的数拥,这种 局他 r类似j 卜{录的功能,而 件埘r用 ,来说义是透叫的,用 丈什吱现 什r㈨I 数捌逻 j 作者简介 刘扬(1 98 2-),男,山东省济南市人. 大学 本科学历,初级职称 研究方向为软件工程, 叟件后仍然能够商接访M lJ』!J 的数据迎仆,唯 -f内缺点就是没有实.f!J【!.数据迎加的功能, ‘ 档文件被创建,fcI=l果想 实现划0 {义什 容的调整,就 3能蘑新创建 ]档史什。 通过 4所示效能比埘 我们- 以 … 越系缆憾 繁峨r Hadoop Archive玛{羞辱 ! 照原有系统 砰”哈数据处理 惭行r较大的 现从事一线教学工作 刘冰(1 9 9 7一),男,山东省雄坊市人..山东 这 就要探讨‘种hdfs存储海量“碎 片”文件的解决方法 HadooDArchive。 它足通过archive I:具来将多个史件建立为 文件,这种归档文什并不同j-.windows和 电子职业技术学院大二学生 作者单位 山东电子职业技术学院 山东省济南市 2 5 0000 linux操作系统卜的 缩定件,荫’先91档文件 的扩展名足 .har,≯¨1. 归 后还uJ以直接 Electronic Technology&Softwa re Engineering电子技术与软件工程·167 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务