Hadoop平台基准性能测试研究
2015-03-02张新玲
摘要:Hadoop平台是apche下的一个开源大数据平台,具有分布性、虚拟化、高可靠性、高可伸缩性、通用性等特点。Hadoop平台发展至今,集成组件已从1.0发展到2.0。从Hadoop体系结构入手,分析了Hadoop 平台1.0和2.0平台的基准测试性能并进行了对比。研究了testdfsIO、yarn、hive的基准测试,通过对升级后平台的基准测试,分析了2.0的优势,为集成Hadoop平台提供参考。
关键词:大数据;Hadoop;testdfsIO;yarn;hive;性能对比
DOIDOI:10.11907/rjdk.143775
中图分类号:TP306
文献标识码:A 文章编号文章编号:16727800(2015)001003003
作者简介作者简介:张新玲(1983-),女,浙江杭州人,浪潮电子信息产业股份有限公司系统软件部高级工程师,研究方向为云计算、大数据。
0 引言
随着移动互联网、物联网、社交网络等技术的兴起,全球数据量迅猛增长,大数据(Big Data)时代已经来临。大数据的定义有多种提法,IBM认为大数据具备规模性(Volume)、多样性(Variety)和高速性(Velocity)3个特征:规模性指数据量巨大,量级达到TB级及PB级;多样性指数据类型繁多,包括结构化数据和非结构化数据;高速性指数据创建、处理和分析的速度持续加快。Hadoop是一个开源大数据平台,已成为大数据的代名词。短短几年,Hadoop从一种边缘技术成为事实上的标准,Hadoop 逐渐通过开源的分布式计算框架成为各软件开发团队首选的云计算平台。
Hadoop平台软件系统具有分布性、虚拟化、高可靠性、高可伸缩性、通用性等特点,在军事、教育、政府、金融等各个领域都有应用。在这样的背景下,研究Hadoop平台下的基准测试工作具有重要现实意义,本文研究的是hadoop平台1.0和2.0的基准项性能测试对比。
1 研究内容
Hadoop平台下的基准测试主要包括Hdfs的读写、Yarn的执行情况;Hive的基本功能包括简单查询、表连接查询、插入操作、分组查询和map查询; TestDFSIO基准测试、Yarn基准测试、Hive基准测试比较研究。采用hadoop自带的测试包hadoop-test.jar中的TestDFSIO方法,分别执行3次读写操作。
2 TestDFSIO基准测试比较
2.1 单个1G文件读写测试
测试采用Hadoop自带的测试包hadoop-test.jar中的TestDFSIO方法,分别执行3次读写操作,测试结果对比如表2、表3所示。
2.2 单个200G文件读写测试
测试采用Hadoop自带的测试包hadoop-test.jar中的TestDFSIO方法。
2.3 10个1G文件读写测试
测试采用Hadoop自带的测试包hadoop-test.jar中的TestDFSIO方法。
2.4 10个200G文件读写测试
测试采用Hadoop自带的测试包hadoop-test.jar中的TestDFSIO方法。
3 Yarn基准测试比较
3.1 使用Wordcount统计输入数据中每个单词的出现次数
输入数据使用Hadoop RandomWriter产生的random data, 在yarn上运行RandomWriter,会启动一个MapReduce job, 每个节点生成1G数据共8G。
Wordcount进行数据统计,在Hadoop2.0平台与Hadoop1.0平台上的测试时间分别如表10所示。
3.2 使用Sort对8GB数据进行排序
Sort测试是Hadoop自带的排序测试,输入数据使用Hadoop RandomTextWriter生成8G数据。
3.3 使用Terasort对1TB数据进行排序
TeraSort是由微软的数据库专家Jim Gray创建的标准benchmark,输入数据由Hadoop TeraGen产生,生成1TB数据。
4 Hive基准测试比较
本次hive测试生成两个表:Rankings和Uservisits表,Rankings表大小为1GB共11 999 999条,Uservisits表大小20GB共99 999 995条。Rankings表的表结构为:
hive> desc rankings;
OK
pageurl string None
pagerank int None
avgduration int None
Time taken: 0.12 seconds, Fetched: 3 row(s)
Uservisits表的表结构为:
hive> desc uservisits;
OK
sourceip string None
desturl string None
visitdate string None
adrevenue double None
useragent string None
countrycode string None
languagecode string None
searchword string None
duration int None
Time taken: 0.128 seconds, Fetched: 9 row(s)
4.1 简单查询操作
以pageurl字段作为条件,从Rankings表中单条查询出结果,语句为:
select * from rankings where pageurl='wyhajvmhqmtngawxpzkkjxkjoxzfecznoklgkcgbdaiaxy
gpqtohcrtakdebgwwpouzkjnplnqzjyqauevchrs';
测试结果见表13。
4.2 简单连接查询操作
通过Rankings表中的pageURL和Uservisits表中的descURL进行连接操作,再根据Rankings中的pageURL作为限制条件进行查询,语句为:
select R.pageurl sourceIP,visitDate from rankings R
JOIN uservisits UV ON (R.pageURL=UV.destURL)
AndR.pageurl='wyhajvmhqmtngawxpzkkjxkjoxzfecznoklg kcgbdaiaxygpqtohcrtakdebgwwpouzkjnplnqzjyqauevchrs';
测试结果见表14。
4.3 插入操作
创建一个与Rankings表结构相同的表Rankingsless,从Rankings表中根据pageRank排序得到前40条数据插入到Rankingsless表中,语句为:
建表语句:CREATE EXTERNAL TABLE rankingsless (pageURL STRING, pageRank INT, avgDuration INT)STORED AS SEQUENCEFILE;
插入语句:insert overwrite table rankingsless select * from rankings order by pageRank desc limit 40;
测试结果见表15。
4.4 分组操作(group by)
对Rservisits表进行操作,根据sourceIP进行分组,查询出sourceIP和 SUM(adRevenue),然后插入到新建的表Uservisits_aggre中,命令:
建表语句:CREATE TABLE uservisits_aggre ( sourceIP STRING, sumAdRevenue DOUBLE) STORED AS SEQUENCEFILE ;
分组操作语句:INSERT OVERWRITE TABLE uservisits_aggre SELECT sourceIP, SUM(adRevenue) FROM uservisits GROUP BY sourceIP;
测试结果对比见表16。
4.5 map连接操作
采用map连接方式对Rankingsless和Rankings进行连接,进行统计运算,语句为:
select /*+ MAPJOIN(rankingsless) */ count(*) from uservisits U JOIN rankingsless R ON U.destURL=R.pageURLandR.pageurl='wyhajvmhqmtngawxpzkkjxkjoxzfecznoklgkcgbdaiaxygpqtohcrtakdebgwwpouzkjnplnqzjy qauevchrs';
测试结果见表17。
5 结语
本次实验基于Hadoop平台2.X的基准测试与Hadoop1.0平台的基准测试对比,可以发现在新一代的Hadoop平台下,Hadoop2.0有11项测试优于Hadoop1.0平台,其它5项测试时间相差不多,整体情况来看,Hadoop2.0性能要优于Hadoop1.0。
参考文献:
[1] 林清滢.基于Hadoop 的云计算模型[J]. 现代计算机, 2010(5)148150.
[2] http://hadoop.ahache.org/.
[3] 刘鹏,黄宜华,陈卫卫.实战Hadoop开启通向云计算的捷径[M].北京:电子工业出版社,2011.
[4] 邓自立. 云计算中的网络拓扑设计和Hadoop 平台研究[D]. 合肥:中国科学技术大学,2009.
[5] TOM WHITE.Hadoop权威指南[M]. 曾大聃,周傲英,译.北京:清华大学出版社, 2010.
[6] TOM WHITE.Hadoop:the.definitive guide[M].Manning,2014.
[7] 张为民,唐剑锋,罗治国,等.云计算——深刻改变未来[M].北京:科学出版社,2009.
[8] 刘鹏.云计算[M].第2 版. 北京:电子工业出版社,2011.
[9] 李国杰.大数据研究的科学价值[J].中国计算机学会通讯,2010(9):3336.
[10] 邓自力.云计算中的网络拓扑设计和hadoop平台研究[D].合肥:中国科学技术大学,2009.
[11] 冷先刚.软件测试模型与方法研究[D].武汉:武汉理工大学, 2009.
[12] 帅丹.分布式系统测试的难点与分析[J] .程序员,2010 (8):100105.