基于HDFS分布式存储的云盘系统的设计与实现文献综述
2020-04-14 19:48:08
hadoop作为apache基金会资助的开源项目,由doug#8194;cutting带领的团队进行开发,基于lucene和nutch等开源项目,实现了google的gfs和hadoop能够稳定运行在20个节点的集群;2006年1月,doug#8194;cutting加入雅虎公司,同年2月apache#8194;hadoop项目正式支持hdfs和mapreduce的独立开发。同时,新兴公司cloudera为hadoop提供了商业支持,帮助企业实现标准化安装,并志愿贡献社区。
1.1#8194;海量数据时代的现状#8194; 我们生活在数据的时代,很难估计全球的数据有多少,“数字宇宙”项目统计得出,2006年的数据总量为0.18zb,也就是10亿tb。以往数据处理速度不够,以100mb每秒计算,读取1tb的数据需要2个半小时。一个比较好的方案就是把数据放在100个磁盘中每个磁盘中存放1%的数据并行读取,不到2min就能读取所有数据。经过统计用户的分析工作会在不同的时间点进行,所以用户相互间的干扰不会太大。但是一旦硬件发生故障,用户的数据就会丢失,所以要准备多份。mapreduce将这个问题抽象,转化为对一个数据集合的计算。这个计算模型分为map和reduce两个阶段,只有这两个部分对外提供接口。#8194;举例#8194;rackspace的一个部门mailtrust:mapreduce是一种比较蛮力的办法,每个查询几乎需要处理整个数据集,至少是数据集的很大一部分。在合理的时间内对整个数据集合的数据即时查询,是对数据的一种创新。rackspace的mailtrust部门,使用hadoop处理邮件日志,他们做用户地理分布查询。“这些数据非常有用,每个月运行一次决定哪些rackspace数据中心需要添加新的邮件服务器“。通过整合数百gb的数据,并分析,可以通过这些数据改善现有服务。
1.2#8194;#8194;hadoop的发展史hadoop起源于nutch网络搜索引擎,nutch是lucene(一个文本搜索系统库)的一部分,创始人为doug#8194;cutting。#8194;nutch项目开始于2002年#8194;到2004年开始开发gfs的开源版本ndfs,谷歌发表论文向全世界介绍它的mapreduce系统。#8194;2005年实现了mapreduce的开源版本。2006年将hadoop移出nutch独立成为一个项目,hadoop创始人进入雅虎2008年hadoop成为apache顶级项目,证明了其成功。209s#8194;完成1tb数据排序#8194;2009年4月#8194;59秒排序500gb#8194;1400节点#8194;173分钟排序100t的数据3400节点#8194;典型案例#8194;纽约时报#8194;facebook#8194;last.fm
1.3#8194;#8194;hadoop生态系统pig:#8194;数据流语言和运行环境,检索非常大的数据集hive:管理hdfs中的数据,提供sql查询安列存储数据库,支持批量式计算和点查询zookeeper:#8194;一个分布式、可用性高的协调系统。zookeeper提供分布式锁之类的基本服务用于构建分布式应用。sqoop:#8194;在数据库和hdfs之间高效传输的数据工具。#8194;kerberos:实现的是机器级别的安全认证,也就是前面提到的服务到服务的认证问题。防止了用户伪装成datanode,tasktracker,去接受jobtracker,namenode的任务指派。kerberos对可信任的客户端提供认证,确保他们可以执行作业的相关操作。防止用户恶意冒充client提交作业的情况。用户无法伪装成其他用户入侵到一个hdfs或者mapreduce集群上。用户即使知道datanode的相关信息,也无法读取hdfs上的数据,用户无法发送对于作业的操作到jobtracker上。
1.4 hdfs云盘的现实意义:中国在HDFS方面的应用开始于2006年的百度到现在基本所有的国内大型移动互联网公司基本都已在hadop方面有了较强的应用,包括中国移动、华为、阿里巴巴、腾讯、奇虎360等。国外公司有yahoo、facebook、A9.com等大型公司也早已运用hadoop构建了商品搜索引擎。数据存储是互联网数据的信息化应用的基础,HDFS具有对文件操作的分布式、大数据量和快速的特点。文中对基于HDFS的云盘系统的功能模块、功能设计与功能实现作了详细的分析,对各功能模块的设计给出了具体的设计方法和实现程序。经测试,系统能实现对数据快速存取的功能。信息化技术应用是数据信息化发展的必然趋势,互联网应用、企业信息管理都是大量数据共享的成果,随着企业应用对数据的依赖性增加,数据的存储需求越来越重要,基于网络的分布式数据存储模式应用越来越多,利用HDFS的大数据文件的分布式管理功能,设计云盘系统实现用户对数据实时性、共享性的应用。
{title}
2. 研究的基本内容与方案
{title}基本内容与目标:基于hdfs设计出分布式存储云盘从用户角度,整个系统划分为ECDisk客户端、ECDisk运营管理平台、HDFS分布式文件存储集群和账户数据应用平台四部分。
采用技术方案措施:HDFS服务接口:考虑到客户端开发环境为VC 2010,HDFS客户端API采用Hadoop自身提供的Thrift接口。用户数据库:用户数据库存储用户的账户信息,保留在MySQL数据库中。内存数据库:为提高用户账户信息访问速度,所有当前在线用户(已登录)的账户数据都缓存到内存数据库中,内存数据库选用基于Erlang实现的Menisa。