说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

盘点Hadoop生态圈:13个让大象飞起来的开源工具

HTML文档下载 WORD文档下载 PDF文档下载
借助Google的三大论文,Hadoop打开了低成本海量数据处理之门;同时,借助了开源运动,Hadoop生态圈得以迅速成熟,也催生了处理各种业务及数据的工具,这里带大家回顾2013年让大象飞起来的13种工具。

Hadoop是由Apache基金会开发的一个大数据分布式系统基础架构,最早版本是2003年原Yahoo! Doug Cutting根据Google发布的学术论文研究而来。用户可以在不了解分布式底层细节的情况下,轻松地在Hadoop上开发和运行处理海量数据的应用程序。低成本、高可靠、高扩展、高有效、高容错等特性让Hadoop成为最流行的大数据分析系统,然而其赖以生存的HDFS和MapReduce组件却让其一度陷入困境——批处理的工作方式让其只适用于离线数据处理,在要求实时性的场景下毫无用武之地。因此,各种基于Hadoop的工具应运而生,本次为大家分享Hadoop生态系统中最常用的13个开源工具,其中包括资源调度、流计算及各种业务针对应用场景。首先,我们看资源管理相关。


CSDN推荐:欢迎免费订阅《Hadoop与大数据周刊》获取更多Hadoop技术文献、大数据技术分析、企业实战经验,生态圈发展趋势。


资源统一管理/调度系统

在公司和机构中,服务器往往会因为业务逻辑被拆分为多个集群,基于数据密集型的处理框架也是不断涌现,比如支持离线处理的MapReduce、支持在线处理的Storm及Impala、支持迭代计算的Spark及流处理框架S4,它们诞生于不同的实验室,并各有所长。为了减少管理成本,提升资源的利用率,一个共同的想法产生——让这些框架运行在同一个集群上;因此,就有了当下众多的资源统一管理/调度系统,比如Google的Borg、Apache的YARN、Twitter的Mesos(已贡献给Apache基金会)、腾讯搜搜的Torca、 Facebook Corona(开源),本次为大家重点介绍Apache Mesos及YARN:

1. Apache Mesos

代码托管地址: Apache SVN

Mesos提供了高效、跨分布式应用程序和框架的资源隔离和共享,支持Hadoop、 MPI、Hypertable、Spark等。

Mesos是Apache孵化器中的一个开源项目,使用ZooKeeper实现容错复制,使用Linux Containers来隔离任务,支持多种资源计划分配(内存和CPU)。提供Java、Python和C++ APIs来开发新的并行应用程序,提供基于Web的用户界面来提查看集群状态。

2. Hadoop YARN

代码托管地址: Apache SVN

YARN又被称为MapReduce 2.0,借鉴Mesos,YARN提出了资源隔离解决方案Container,但是目前尚未成熟,仅仅提供 Java 虚拟机内存的隔离。

对比MapReduce 1.x,YARN架构在客户端上并未做太大的改变,在调用 API 及接口上还保持大部分的兼容,然而在YARN中,开发人员使用 ResourceManager、ApplicationMaster 与 NodeManager代替了原框架中核心的 JobTracker 和 TaskTracker。其中 ResourceManager 是一个中心的服务,负责调度、启动每一个 Job 所属的 ApplicationMaster,另外还监控 ApplicationMaster 的存在情况;NodeManager负责 Container 状态的维护,并向 RM 保持心跳。ApplicationMaster 负责一个 Job 生命周期内的所有工作,类似老的框架中 JobTracker。

Hadoop上的实时解决方案

前面我们有说过,在互联网公司中基于业务逻辑需求,企业往往会采用多种计算框架,比如从事搜索业务的公司:网页索引建立用MapReduce,自然语言处理用Spark等。本节为大家分享的则是Storm、Impala、Spark三个框架:

3. Cloudera Impala

代码托管地址: GitHub

Impala是由Cloudera开发,一个开源的Massively Parallel Processing(MPP)查询引擎 。与Hive相同的元数据、SQL语法、ODBC驱动程序和用户接口(Hue Beeswax),可以直接在HDFS或HBase上提供快速、交互式SQL查询。Impala是在Dremel的启发下开发的,第一个版本发布于2012年末。

Impala不再使用缓慢的Hive+MapReduce批处理,而是通过与商用并行关系数据库中类似的分布式查询引擎(由Query Planner、Query Coordinator和Query Exec Engine三部分组成),可以直接从HDFS或者HBase中用SELECT、JOIN和统计函数查询数据,从而大大降低了延迟。

4. Spark

代码托管地址: Apache

Spark是个开源的数据分析集群计算框架,最初由加州大学伯克利分校AMPLab开发,建立于HDFS之上。Spark与Hadoop一样,用于构建大规模、低延时的数据分析应用。Spark采用Scala语言实现,使用Scala作为应用框架。

Spark采用基于内存的分布式数据集,优化了迭代式的工作负载以及交互式查询。与Hadoop不同的是,Spark和Scala紧密集成,Scala像管理本地collective对象那样管理分布式数据集。Spark支持分布式数据集上的迭代式任务,实际上可以在Hadoop文件系统上与Hadoop一起运行(通过YARN、Mesos等实现)。

5. Storm

代码托管地址: GitHub

Storm是一个分布式的、容错的实时计算系统,由BackType开发,后被Twitter捕获。Storm属于流处理平台,多用于实时计算并更新数据库。Storm也可被用于“连续计算”(continuous computation),对数据流做连续查询,在计算时就将结果以流的形式输出给用户。它还可被用于“分布式RPC”,以并行的方式运行昂贵的运算。

Hadoop上的其它解决方案

就像前文说,基于业务对实时的需求,各个实验室发明了Storm、Impala、Spark、Samza等流实时处理工具。而本节我们将分享的是实验室基于性能、兼容性、数据类型研究的开源解决方案,其中包括Shark、Phoenix、Apache Accumulo、Apache Drill、Apache Giraph、Apache Hama、Apache Tez、Apache Ambari。

6. Shark

代码托管地址: GitHub

Shark,代表了“Hive on Spark”,一个专为Spark打造的大规模数据仓库系统,兼容Apache Hive。无需修改现有的数据或者查询,就可以用100倍的速度执行Hive QL。

Shark支持Hive查询语言、元存储、序列化格式及自定义函数,与现有Hive部署无缝集成,是一个更快、更强大的替代方案。

7. Phoenix

代码托管地址: GitHub

Phoenix是构建在Apache HBase之上的一个SQL中间层,完全使用Java编写,提供了一个客户端可嵌入的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排执行以生成标准的JDBC结果集。直接使用HBase API、协同处理器与自定义过滤器,对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒。Phoenix完全托管在GitHub之上。

Phoenix值得关注的特性包括:1,嵌入式的JDBC驱动,实现了大部分的java.sql接口,包括元数据API;2,可以通过多个行键或是键/值单元对列进行建模;3,DDL支持;4,版本化的模式仓库;5,DML支持;5,通过客户端的批处理实现的有限的事务支持;6,紧跟ANSI SQL标准。

8. Apache Accumulo

代码托管地址: Apache SVN

Apache Accumulo是一个可靠的、可伸缩的、高性能、排序分布式的键值存储解决方案,基于单元访问控制以及可定制的服务器端处理。使用 Google BigTable设计思路,基于Apache Hadoop、Zookeeper和Thrift构建。Accumulo最早由NSA开发,后被捐献给了Apache基金会。

对比Google BigTable,Accumulo主要提升在基于单元的访问及服务器端的编程机制,后一处修改让Accumulo可以在数据处理过程中任意点修改键值对。

9. Apache Drill

代码托管地址: GitHub

本质上,Apache Drill是Google Dremel的开源实现,本质是一个分布式的mpp查询层,支持SQL及一些用于NoSQL和Hadoop数据存储系统上的语言,将有助于Hadoop用户实现更快查询海量数据集的目的。当下Drill还只能算上一个框架,只包含了Drill愿景中的初始功能。

Drill的目的在于支持更广泛的数据源、数据格式及查询语言,可以通过对PB字节数据的快速扫描(大约几秒内)完成相关分析,将是一个专为互动分析大型数据集的分布式系统。

10. Apache Giraph

代码托管地址: GitHub

Apache Giraph是一个可伸缩的分布式迭代图处理系统,灵感来自BSP(bulk synchronous parallel)和Google的Pregel,与它们 区别于则是是开源、基于 Hadoop 的架构等。

Giraph处理平台适用于运行大规模的逻辑计算,比如页面排行、共享链接、基于个性化排行等。Giraph专注于社交图计算,被Facebook作为其Open Graph工具的核心,几分钟内处理数万亿次用户及其行为之间的连接。

11. Apache Hama

代码托管地址: GitHub

Apache Hama是一个建立在Hadoop上基于BSP(Bulk Synchronous Parallel)的计算框架,模仿了Google的Pregel。用来处理大规模的科学计算,特别是矩阵和图计算。集群环境中的系统架构由 BSPMaster/GroomServer(Computation Engine)、Zookeeper(Distributed Locking)、HDFS/HBase(Storage Systems)这3大块组成。

12. Apache Tez

代码托管地址: GitHub

Apache Tez是基于Hadoop Yarn之上的DAG(有向无环图,Directed Acyclic Graph)计算框架。它把Map/Reduce过程拆分成若干个子过程,同时可以把多个Map/Reduce任务组合成一个较大的DAG任务,减少了Map/Reduce之间的文件存储。同时合理组合其子过程,减少任务的运行时间。由Hortonworks开发并提供主要支持。

13. Apache Ambari

代码托管地址: Apache SVN

Apache Ambari是一个供应、管理和监视Apache Hadoop集群的开源框架,它提供一个直观的操作工具和一个健壮的Hadoop API,可以隐藏复杂的Hadoop操作,使集群操作大大简化,首个版本发布于2012年6月。

Apache Ambari现在是一个Apache的顶级项目,早在2011年8月,Hortonworks引进Ambari作为Apache Incubator项目,制定了Hadoop集群极致简单管理的愿景。在两年多的开发社区显著成长,从一个小团队,成长为Hortonworks各种组织的贡献者。Ambari用户群一直在稳步增长,许多机构依靠Ambari在其大型数据中心大规模部署和管理Hadoop集群。

目前Apache Ambari支持的Hadoop组件包括:HDFS、MapReduce、Hive、HCatalog、HBase、ZooKeeper、Oozie、Pig及Sqoop。(文/仲浩 审校/周小璐)

ajaxStart(callback)-JQuery API ajaxStop(callback)-JQuery API ajaxSuccess(callback)-JQuery API load(url, params, callback)-JQuery API loadIfModified(url, params, callback)-JQuery API serialize()-JQuery API Accordion(settings)-JQuery API activate(index)-JQuery API button(hash)-JQuery API center()-JQuery API $.cookie(name)-JQuery API $.cookie(name, value, options)-JQuery API height()-JQuery API innerHeight()-JQuery API innerWidth()-JQuery API offset()-JQuery API outerHeight()-JQuery API outerWidth()-JQuery API scrollLeft()-JQuery API scrollTop()-JQuery API width()-JQuery API ajaxForm(object)-JQuery API ajaxSubmit(object)-JQuery API clearForm()-JQuery API clearInputs()-JQuery API fieldSerialize(true)-JQuery API fieldValue(successful)-JQuery API formSerialize(true)-JQuery API formToArray(true)-JQuery API resetForm()-JQuery API $.recallDroppables()-JQuery API 急!!请问如何通过程序检测一个系统中的Office版本(比如:中文版,英文版) 请问有人知道上海伍尔特国际咨询公司的朋友嘛 ? 怎样在信件里面自动添加信息? 2万元寻人力资源管理软件 友情链接,我的网站http://fullstrong.myetang.com/ 有没有人统计过windows有多少个api加上shell呢? 请问:winsock的SendData的调用,在收发email时改如何设置参数 请问gdk和gtk的函数库是怎么按装的? 搞不定了,7456..来回切换窗口状态的问题, 有源码 友情链接,我的网站http://fullstrong.myetang.com/ 请问RTDB(实时数据库和商用数据库的区别) 各位高手,请问在Tomcat下怎么解决中文问题? XML如何实现曲线图、饼图、梯形图的表示? “红萝卜的胳膊白萝卜的腿”谁听过? 问一个语法的问题? 读入文本的回车和换行为什么都没有了 类似HTML为扩展名的有哪几种文件 安装php+Mysql+Apache时出现的一个小问题,请高手指教! 取url中?后参数的javascript函数是什么? 怎么样来控制声道,如左声道,右声道,立体声? 简单问题,能介绍一下dual吗?? 新操作系统,老编程工具 这样能兼容吗? applet请教 衷心祝愿正在找工作的朋友们心想事成 浪费了几百份了,从来没人回答这个问题,窝气阿,up以下也好啊?????? 米卢是神奇的,中国队更神奇! 有谁知道哪里可以下载PDF Reference Manual中文版? 请教各位大虾! 怎样能把oracle数据库中的所有用户表的结构以及主键外键信息导出为sql 脚本? 踢得真不公平,真是21人踢我们一个人! 友情链接,我的网站http://fullstrong.myetang.com/ VB里面怎么编译出,不用安装的运行程序,请问在那里设置?(上限5分,人人有分)? 哪位大师知道在VC中怎样实现视频捕捉功能 有谁知道mp3的压缩和解压缩算法 问一下关于文件图标的问题。 pb6.5,win2000中文板,Oracle817.在oracle中连接数据库正确。在pb中连接数据库错误。什么内存出错,还有pbo7360.dll acess error之类的错 急!!请问如何将扩展名为PLB的文件转换为SQL文件 关于datagrid的selecteditem事件 谁能告诉我如何给回答对的人加分呀,散分啦 有谁知道哪里可以下载PDF Reference Manual中文版? 文件上传,然后把文件中的数据写入数据库,怎样做到。 问一个很菜的问题 100分在线等待:请介绍resin 如何在listview在作模糊查询。100分 ODBC下正确,BDE下出错?为什么?分数不够可以再加 项目中的角色 vb中怎样终止一个正在运行的应用程序? ADO编程,怎么把SQL Server里的DateTime取到windows的SYSTEMTIME或time_t里? 简单问题!Webbrowser控件 谁用过在那里加?还有程序中怎么打开如“http://www.csdn.net”的页? 小问题,抢分呀 将一个数据库a1的记录追加到另一个数据库a2记录后面的SQL语句怎么写? 380v的电能电死人吗 提升重物的机械效率跟滑轮组机械效率、拉力机械效率什么的有什么区别没有? 五大湖附近地区属于美国农业带的什么带?该农业带的有利条件是什么? 内蒙古阿拉善银星风力发电有限公司 翻译成蒙古语是什么 在提升相同重物时的拉力是否是影响滑轮组机械效率的因素? 有氧呼吸和无氧呼吸的方程式 各种糖的化学式越多越好! 地理信息系统(GIS)应用现状及发展趋势.地理信息系统(GIS)应用现状及发展趋势?各位哥哥姐姐,小弟考研问题(最后一道大题),希望知道的能尽快给我一个答复,尽量详细点, 有没有人对EVP有兴趣的?展开是:Electronic Voice Phenomenon ,简称EVP,超自然电子异象. 糖的化学式 地理信息系统GIS设某项应用为核电站选址,要求核电站临近海湾,交通便捷,地形坡度小于5%,地质条件安全,并避开居民区,请试以GIS方法,设计该位置选择的应用模型(具体说出是哪种模型),用框 超自然电子异象( Electronic Voice Phenomenon )」简称EVP超自然电子异象( Electronic Voice Phenomenon求大神翻译成英文这些研究小组每天透过一种叫做转换联系仪器(Transcommunicat 有规律地拦截电视机和收 GIS的应用领域有哪些? 谁有地理信息系统GIS的软件啊?就是arcgis软件 最好带上安装方法啊~ 甲苯合成COOHOH过程 柠檬酸钠化学式是什么?吃了对人体有害吗? 由于刹车,汽车开始以12米/秒的初速度做匀减速直线运动,若刹车后在第1秒内的平均速度为9.5M/S,那么汽车在车后3秒内的位移是 米 400吨甘蔗,可以炸出蔗糖64吨,这种甘泽的出糖率是( )如果要炸出蔗糖200吨需要()吨新村农场去年中土豆5分之1公顷,平均每公顷手土豆37.4定,今年计划种植面积不变,每公顷产量加一成五.估 gis的应用领域有多宽,有多大的前途? 请问现在乙醇汽油的市场前景...开发难度.成本投资 之类的...最好能详细一些... 世上超自然电子现象怎么解释,灵异到底存在吗? gis的应用有哪些?GIS的发展使? 英语翻译2.1foundationIn order to inspect the electric fittings in the foundation remove ametal plate from the ground platform and go down into the foundation.2.1.1water entryinspect the foundation for traces of water entry in case of stagnant wat 搜集[亲身经历]的超自然灵异事件佳人真心搜集,您要是听说的,自编的或者复制的 就不麻烦您了希望大家慷慨的说一说,一起研究研究!一楼12岁的弟弟,你说的事情我有点晕哦,蓝色的东西还能 偏航器用英语怎么说 风力发电的发展状况及相关问题 (翻译成英文怎么翻译 求高手帮忙 急 谢谢) 家庭照明用led节能灯多少瓦合适?LED节能灯的瓦数和传统的节能灯、白炽灯的瓦数相同吗?如果不同, 求将表格中的化学式转换成下面的样子. 金属键强弱和金属导电性的关系 我想在本地办一个LED节能灯组装厂,家用灯饰开一个小厂子,3-5个人吧,组装LED节能灯,一个能组装多少个节能灯? 几个高一化学式的转换比较基础的在线等很急!金属--成碱性氧化物(互换)碱性氧化物--碱 (有3个)碱--盐 1个盐--盐酸--盐酸性氧化物--酸 (互换)非金属--酸性氧化物 1个能写出几个方程式 金属导电性判断铜,银,铝,铁,金导电性强弱怎么判断啊需要详细的答案啊 谢谢 物体向上速度变快,向上变慢,为什么?对不起,是说错了 应该是问:物体向下速度变快,向上变慢,为什么? gis在煤矿上的应用有哪些 什么碱不溶于酸,不溶于水 九年级物理力的方向 初三酸碱盐,转换, 噪音污染的有关知识 谁能给我总结总结 互联网对农村的利于弊?没人 能回答 机械噪音 人体 危害我是开数控通快2020机床的,机床噪音每天很大,请问它对人体的损害有哪些?同时要防止补充什么营养》谢谢! GIS的应用范围有多广?谁给点具体的例子 请问飞机场存在哪些污染?如噪声污染,电磁污染,空气污染等,有哪些危害性?最好详细些. 光合作用与有氧呼吸的区别与联系 GIS的应用GIS可以用来( )A.获取灾区数字信息 B.在救灾中导航 C.对灾害发生地定位 D.建立救灾决策指挥系统 提倡使用下列产品,其中与环境保护无关的是() A.加碘食盐 B.无铅汽油 36题,关于美国农业初一地理题 gis在物流中的应用 一种甘蔗,600吨可以榨出96吨蔗糖现有这种甘蔗1050吨,可以榨出蔗糖多少吨? 题是这样的:b点在五带中的热带,在 气压带控制下.还有:1.一年中,5三个月是1南半球的春季 2北半球的冬季 3南半球的秋季 4北半球的秋季 b点在热带. 地理信息系统的应用 碳酸钠与硫酸钙的化学反应式 为什么红磷在验证空气中氧气含量时,红磷含量要过量 100W的太阳能电池板一般是多少A电流?12/24 碳酸钠和硫酸钙的离子方程式速度啊```````` 汽车刹车后作匀减速运动,最后停了下来,在刹车过程中,汽车前半程的平均速度与后半程的平均速度之比是?希望有准确的解释 我该把这份文件发给谁?英语怎么说给对方写e-mail的 我想知道高中生物书里面的 光合作用的方程式.还有有氧呼吸,无氧呼吸的方程式 英语翻译"中广核"三字,是否要翻译? 既能溶于水又能溶于酸的碱是A.Cu(OH)2 B.Na2CO3 C.CaCO3 D.NaOH 并且写出原因 有氧呼吸 无氧呼吸 光合作用的化学方程式与反应场所 复制党走啊
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘