苏鹏涛
摘要:近年来大数据技术的迅猛发展,对电力企业产生了重大的影响。借助大数据技术,对电力行业的数据信息进行获取、处理、分析及应用,将进一步发挥电力大数据的价值,挖掘电力大数据市场的潜力。目前市场上商业化或开源的Hadoop平台种类繁多,选择适合电力企业特点的Hadoop平台对电力企业的大数据应用影响深远。综合众多Hadoop平台特性,结合电力企业特点选取CDH和TDH两个较佳的Hadoop平台,通过对两个平台的建设、服务、性能、开发、运维、可靠性等多方面的详细测试对比,为电力企业Hadoop平台选型提供参考。
关键词:电力;大数据;Hadoop;CDH;TDH;对比;选型
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)07-0228-03
1 引言
近年来大数据(Big Data)技术得到了各国政府和全球学术界、工业界的高度关注和重视,在各行业领域的应用迅猛发展。随着电力行业数据资源的快速增长并形成了一定的规模,对大数据技术也产生了很强的需求。
对于IT技术的应用,电力企业一直走在时代前沿,随着信息系统的逐渐完善、系统间集成度的不断提高,信息系统呈现出数据增长加速化、数据类型多样化、业务融合深度化的发展趋势,对数据存储、处理、价值挖掘提出更高的要求,传统数据库工具已无法满足大数据时代下的数据挖掘需求。
面对市场上的种类繁多,功能侧重多种多样的Hadoop平台,电力企业急需从中选出一种更适合自身特点的Hadoop平台。本文结合电力企业特点从众多平台中筛选出CDH、TDH两个典型Hadoop平台,通过多个层面的对比分析,為电力企业Hadoop平台选型提供参考。
2 平台对比分析
以Apache Hadoop为主导的大数据技术的出现,为各类公司对大数据的存储与处理提供了便利的工具。目前Hadoop的发行版本有很多,Intel发行版、Cloudera发行版(CDH)、MapR版本以及HortonWorks等版本,所有发行版都是基于Apache Hadoop衍生而来的。
CDH为目前国际使用率最高的Hadoop免费发行版,TDH为国产Hadoop平台,是国内落地案例最多的一站式Hadoop发行版。通过对两个平台的建设、服务、性能、开发、运维、可靠性等多方面的详细测试对比,确定哪个平台较更适合于电力企业。
2.1软硬件环境
两个平台均以单台完全相同的物理机作为初始资源,在该资源条件下创建虚拟机搭建平台,确保在相同硬件条件下进行对比测试,保证对比分析的可靠性和准确性。根据两个平台的架构特点构建如下的虚拟机集群。(由于固态硬盘成本较高,且为保证硬件环境基本一致,对比中TDH平台不使用固态硬盘。)
TDH 为4台虚拟机组成的集群,如下。
2.2 平台搭建对比
经过深入比较,多次重复安装卸载及查询官网和社区资料,得到CDH与TDHHadoop平台在平台搭建方面的差异主要表现在以下几个方面:
1)资源获取。CDH可以随时随地从官网下载各个版本的发行版及匹配的组件,并可以用于商业使用;TDH需要通过邮件向厂商申请,在填写详细申请材料后并经审核通过后,可提供一份可以运行6个月的试用版本,商业使用需购买正式版。
2)文档资料。CDH文档清晰,资料齐全,各专业论坛及社区有大量可参考的技术文档(官方手册、技术白皮书、各种问题解决方案、底层原理分析等十分丰富);TDH官方基础文档齐备,网络资料及进阶文档欠缺(仅有官方文档、技术白皮书,问题解决及底层原理等资料较少)。
3)操作系统支持度。CDH支持Linux内核的主流操作系统;TDH只支持部分Linux内核的操作系统(不支持Linux 6.9),但支持Windows操作系统(但实践较少涉及)。
4)硬件需求。CDH对硬件的要求较低,常规PC Server即可;TDH对硬件要求较高,要达到最佳性能需要配置大量固态硬盘。
5)安装配置。两个平台均有管理工具可以快速搭建起平台、配置平台参数环境;CDH的管理工具界面更加友好。比如在添加新机器到集群后,TDH需要在各组件中为新机器添加服务,需操作多次;而CDH只需在添加机器时选择要启用的组件,仅需操作一次。
2.3 性能对比
2.3.1 k-v数据库对比
CDH使用HBase作为为K-V数据库,它是一种构建在HDFS之上的分布式、面向列的存储系统,数据以key-value键值对的列式存储,适合于在需要实时读写、随机访问超大规模数据集时使用。TDH使用Hyperbase作为K-V数据库,它以HBase为基础,融合了多项创新技术,允许开发者们直接 用SQL构建复杂应用,支持全局索引和次级索引,能实现较高速的非主键查询。
写入性能对比方面,在两个数据库建立相同结构的表,以JDBC方式按单进程、多进程数据不分区、多进程数据分区三种方式分别写入相同的大量数据。两平台在写入表现相当,具体对比如下:
HBase本身只提供基于行键和全表扫描的查询,而行键索引单一,对于多维度的查询,可以通过构建二级索引的方式实现提高查询效率的目的。Hyperbase数据库支持行键索引和次级索引,可通过Inceptor的SQL引擎查询。
查询性能方面,以上一步中写入的数据作为测试数据,分别通过行键、列两种方式在1000W量和6000W量的数据量上测试,两平台均表现良好,TDH平台稍占优势。具体结果如下:
2.3.2 查询分析引擎对比
Spark 是一种与 Hadoop 相似的开源集群计算环境,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载,提供了大量的库,包括SQL、DataFrames、MLlib、GraphX、Spark Streaming,开发者可以在同一个应用程序中无缝组合使用这些库资源。
Impala是用于处理存储在Hadoop集群中的大量数据的SQL查询引擎,它是一个用C ++和Java编写的开源软件,能够提供高性能、低延迟、类似传统关型系数据库的体验。
Transwarp Inceptor是基于Spark的分析查询引擎,可提供Spark和Impala相当的功能。
在分析引擎方面, Transwarp Inceptor基于Spark做了一定的优化,相较于Spark原生版本有一定提升,但从开发到发布需要一定时间,而在这个时间段内Spark可能早已发布了新版本,增加了一些新特性,性能也有了新的提升。综合考虑,两者不相上下。
在查询引擎方面,从多个查询对比可以看到Transwarp Inceptor和Impala相当,THD官方测试也印证两者对不同类型SQL的查询各有优劣,性能相当。表6为查询测试,TDH使用Transwarp Inceptor查询、CDH使用Impala查询。两者对于不同的查询类型查询速度极为接近。
2.4 可维护性对比
Cloudera Manager是CDH Hadoop平台的一个拥有集群自动化安装、中心化管理、集群监控、报警功能的工具,它能够极大的缩减集群安装步骤和时间,提高集群管理的效率,并提供集群的监控、诊断、集成、管理功能。TDH Hadoop平台Transwarp Guardian作用与其相当。
监控界面方面:Cloudera Manager更加清晰、界面更友好,在图形界面上能够一目了然地了解到集群软硬件状态。Transwarp Guardian缺少硬件状态监控。
诊断方面:Cloudera Manager能够对每一个组件的每一个实例进行实时监控,提供历史图表及当前状态诊断;对于状态异常组件及实例,能够较方便地通过UI界面定位到异常日志。Transwarp Guardian亦提供相应功能,但需要检索查询后才能生成图表,日志定位也不如前者方便。
集成方面:CDH对大部分开源组件进行整合,封装了对应集成版本,对于未整合的组件也有良好的接口提供支持。TDH在对开源组件整合的支持度较弱。
管理方面:CDH提供了较为方便的配置管理功能,可以用组或主机方式在图形快界面上快速配置或更改集群参数;Transwarp Guardian相应功能操作相对步骤繁琐。
2.5 扩展性对比
CDH、TDH Hadoop平台提供快捷的节点添加,删除功能。CDH更方便快捷。
Cloudera Manager通过新加机器环境配置,管理界面图形版添加节点、选择服务两步即可快速增加集群节点。添加节点时,对集群运行无影响,只有添加部分服务时会自动对关联服务重启。
Transwarp Guardian通过新加机器环境配置,管理界面图形版添加节点,可快速增加集群节点,但还需要通过服务添加功能一个个添加该节点上要运行的服务。添加节点时,对集群运行无影响,只有添加部分服务时会自动对关联服务重启。
3 结论
通过对比分析,CDH和TDH的差异主要表现在以下几个方面:
1)CDH对硬件要求低,能够以较廉价的服务器搭建较高性能的集群环境;
2)CDH资料文档清晰齐全,各专业论坛及社区有大量可参考的技术文档,Hadoop平台相关人员能够方便快速的学习相关技术;
3)TDH不支持电力企业当前大量使用的Linux 6.9 版本的操作系统;
4)TDH基于开源版本做了很多优化,在数据存储、计算、分析性能上稍有提高,对SQL支持度较好;
5)CDH 管理工具功能、易用性更好,易于維护集群、扩展节点、添加服务;
6)CDH Hadoop平台免费,TDH Hadoop平台收费。
综合考虑以上因素,CDH在电力企业Hadoop平台选型上具有一定优势。
参考文献:
[1] 中国电力大数据发展白皮书[M].中国电力出版社,中国电机工程学会电力信息化专业委员会, 2013.
[2] 王玮,刘荫,于展鹏,等.电力大数据环境下大数据中心架构体系设计[J].电力信息与通信技术,2016(1).
[3] 朱朝阳,王继业,邓春宇.电力Hadoop平台研究与设计[J].电力信息与通信技术, 2015(6).
[4] 宫夏屹,李伯虎,柴旭东,等. Hadoop平台技术综述[J].统仿真学报,2014(03).
[5] 周轶男,王宇. Hadoop文件系统性能分析[J].电子技术,2011(5).
[6] 范凯. NoSQL数据库综述[J].程序员,2010(6).
[7] 陈邦杰,郭书生,庄园,柴文野,等.用电信息采集系统研究[J].中国科技信息,2016(24).
[8] Spark Bench:a comprehensive benchmarking suite for in memory data analytic platform spark[M]. Li M,Tan J,Wang YD,et al. Proceedings of the 12th ACM International Conference on Computing Frontiers ,2015.
[9] The Apache HBase Reference Guide[EB/OL]. http://hbase.apache.org/book/book.html .
[10] HBase:The Definitive Guide[M]. L. George,2016.