基于HDFS的社区文件存储策略改进

2020-11-06 12:14宾茂梨王榆心怀瑜毕梦怡方宗悦
科学与财富 2020年24期
关键词:智慧社区

宾茂梨 王榆心 怀瑜 毕梦怡 方宗悦

摘要:互联网技术发展日新月异,居民越加重视社区信息化服务升级,我国各社区信息化系统存在诸多问题,社区系统的孤立导致文件难以共享且针对社区系统的存储方案不够完善。本课题针对以上问题,提出对HDFS的小文件存储策略进行改进。通过小文件的特征判断相似性,进行小文件的分类与合并,根据测试,该策略对于无规则的文件合并策略,读取速度得到提高。

关键词:智慧社区,HDFS,小文件存储

0     引言

随着智慧社区的不断发展,生成了海量的信息数据,目前智慧社区信息系统固化,社区信息难以共享。要实现真正的智慧社区,需要对社区大数据进行合理高效运用,分布式文件存储系统更加符合如今的大数据时代。

本文介绍了一种以HDFS分布式文件存储为基础,针对HDFS对于小文件处理不足进行改进,可以提高文件存储性能。

1     Hadoop小文件合并方法

1.1  Hadoop Archive方案

Hadoop Archive方案是将多个小文件合并成一个文件,且合并后的文件中包含被合并文件的元数据信息和文件内容,主要由MapReduce将小文件内容进行归并形成归档文件[1]。

这个方案虽然可以归档小文件,但是归档后不易更改,需要全部解压后进行更改后再进行归档。归档小文件后原文件不会自行删除;归档操作需要依赖MapReduce,查询文件耗时长;且归档操作只适用于已经存入HDFS集群中的小文件,归档过程会占用集群额外的计算资源。

2     小文件存储改进方案

本文接下来的内容主要解决以下两个问题。第一,如何判定多大的文件是小文件进而进行合并预处理;第二,小文件如何根据特征属性进行合并,研究与设计具体合并规则和步骤。最后将改进后策略进行测试并比对测试结果。

2.1  小文件大小划分

在提出优化方案前,首先需要定义小文件[2],定义小文件的文件大小就是当文件大小大于某一值时,HDFS中文件的存储效率极大的降低,这一分界点即为本课题研究目标。将NameNode节点内存中每KB可存文件数量作为衡量标准,记为NPK。

式中,N——HDFS上存储的文件数

Mn——NameNode所消耗的内存量

通常,文件和具有三个副本单元的块的元数据分别消耗250和 368字节的内存[3],则NameNode消耗内存计算公式为:

测试NameNode节点的内存占用情况再分别读取HDFS下载文件,测试下载时长和MSPF[4],结果如图2.1所示。

由图2.1可得,在数值在0 到交点间时增长明显,而后增长缓慢,通过线性拟合可得2.70为读取效率临界点,此时文件大小为7.33MB,故小文件指小于7.33MB文件。

2.2  小文件合并文件规则

上一节确定了小文件的具体划分,将小文件处理过程置于预处理节点中,在存入HDFS集群前就实现对小文件分类与合并以解决滞后性,合并规则如图2.2所示。

采用SimHash算法对文件进行相似性判断并分类,将达到数据块大小的分类进行文件合并,合并生成SequenceFile文件和相应的IndexFile索引文件,最后将合成的SequenceFile文件同大文件一样存入HDFS集群中。将小文件按社区文件特征属性进行合并,可以提升文件读取速度,还可以减轻HDFS内存压力。

3     测试结果与分析

HDFS集群负责文件的存储,服务端预处理节点负责小文件处理工作。为减小误差,采用去尾平均值作为测试结果。

分別采用原生HDFS小文件处理策略和改进后的策略,进行小文件存储时间测试,存储耗时结果如图3.1所示。

由图可见,本文提出的改进策略在存取文件过程中较原生存储策略有极大提高。

参考文献:

[1]   关海超.小文件处理及算法并行化在Hadoop上的设计与实现[D].重庆:重庆大学.2015.

[2]   闫建,李瑞,刘萨娜.机遇、挑战与展望:“互联网+”背景下的政府治理创新[J].重庆理工大学学报:社会科学版,2017,30(1):76-81.

[3]   He H,Du Z,Zhang W,et al.Optimization strategy of Hadoop small file storage for big data in healthcare[J].Journal of Supercomputing,2016,72(10):3696-3707.

[4]   段效琛,李英娜,贾会玲,等.初始信息素筛选的蚁群优化算法在HDFS副本选择中的研究[J].传感器与微系统,2017,(4):31-33.

作者简介:

宾茂梨(1997-),男,在读研究生,研究方向:物联网技术与应用

基金:重庆市教委雏鹰计划第九期研究项目“基于PID控制的简易风洞控制器设计”(CY200602)

猜你喜欢
智慧社区
基于物联网技术应用的智慧社区应用系统实现
吉林市智慧社区建设典型培树问题研究
智慧社区信息服务绩效评价研究
“智慧社区”的养老生活
以试点带动打造“智慧社区”助力居家养老
探讨社区网格化管理与智慧社区建设
关于吉林市智慧社区建设典型培树问题研究
智慧社区综合管理平台设计与实现
智慧城市发展现状及趋势浅析
智慧社区之“RFID+手机”车辆身份识别系统①