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

盘点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。(文/仲浩 审校/周小璐)

Android上HTTP协议通讯状态获取 Android开发需要自己完善的类库总结 Android的ListView控件滚动时背景问题 GestureDetector手势识别类 - 进阶篇 MenuInflater Android菜单从xml创建方法 EditText输入提示你知道吗? Android布局Java代码构造法 Android全屏设置代码 测试Android软件性能主要方法 自定义Android标题栏TitleBar布局 获取Android屏幕方向及键盘状态 Android平台XML解析库功能不完整 GestureDetector手势识别类 - 入门篇 不会Java或C,Android123告诉你还有选择 Splash Screen开场屏在Android中的实现 Android游戏开发性能改进要点 Android的Activity你知多少呢? JSONObject在Android上的应用 Android高性能文件类MemoryFile 判断Android文件名是否安全技巧 让你的Android程序兼容多种分辨率 Android Button按钮控件美化方法 Android堆内存也可自己定义大小 TextUtils类-Android字符串处理类 InputSream输入流转String字符串,Android开发工具类 Android中的正则表达式Regex使用 优化Dalvik虚拟机的堆内存分配 Android标题栏进度指示器使用方法 Thread和Looper以及Handler和Message详解 Android开发必读 layout资源包含,android开发必读 Android本地化开发技巧 怎样知道一个调度执行失败或没有执行???(MSSQL7)上火呀~~~ 如何将自己定义的记录类型转化成Tmemorystream对象? c++builder5的下载地址? 做个调查,来者有分。 ODBC下的数据库查询,急!急! 初学者的问题--com dll服务器如何在客户程序中使用? 如何统计 DBGrid 中记录的个数???? 请教:m_fLogfile.Read(pBuffer , sizeof(VNumAndPassWord)); 错在哪? 谁能替我做一张图片啊? 气死人了,安装红帽子在输入根口令时遇到的尴尬:( 奇怪的oracle数据库错误? 公布我的软件了——网络邮盘,国内日下载量>1000,国外<10 关于堆和栈的队! 请问,准考证的英文怎么说? ASP终极开发:请成功用INSTALLSHIELD设置好IIS的高手朋友进来看看。100分全散了!!!!! 是屏保的问题?还是硬件故障? 紧急救命啊!各位大虾:)98关机时断电出现的故障 初级问题,请教大侠 在C#里面如何取得这个SQL値那? 请教, 扫描的问题... 不好意思,还有问题,关于span,恳请高手答完再下班。 心情郁闷,各位朋友安慰我一下好么。 如何注册JDBC驱动啊!我手头好多的驱动但是我不知道如何的注册这些驱动 在RICHEDIT里怎么实现换行输出? 200分求快速取中值的算法!(thirdapple) Flash Action 如何定时,就像Javascript中的setTimeout()? 保护的问题 用一个关于Printer对象的问题?各位大虾,初来乍到,请多多关照。 请问如何自动提交一个FORM? 请问各位师兄:web开发如何起步?例如使用JSP? 求助! 如何知道电脑中的网卡是什么型号的? 大家请帮忙,兄弟必重谢,分都给了 如何制作含有msdn数据库的安装程序 Web Service服务程序如何增加对SSL的支持? 怎么還可以上網﹐向各位大蝦求救 请问如何自动提交一个FORM? 如何处理并发访问! 如何在网页中打开*.ocx组件?是否能打开? 如果给我再来一次的机会...我还是想说... 求随机数发生器的算法 高手来拿高分!!!!!!!!!求开发自定义服务器控件的好书或代码 那位有ESQL(嵌入SQL)中文资料? 如何select LONG类型的字段? 红帽子里面可以演戏吗? 如何改变 Win me 快捷方式上的小键头图标。 ANY元素不是可以表示“任意”吗?为什么这个不行? 皇帝的新装 求助! 如何知道电脑中的网卡是什么型号的? 在winxp下如何安装winme实现双系统启动 在windows form下,怎样为datagrid添加click事件? 大家说小系统用什么数据库好,别说用ASA,ACCESS 汉译英几个短句记得外出时吧外套穿上(WHEN,PUT ON)你一定很累,应该去睡觉打破这扇窗他们全家都喜欢在花园里干活 Sidney、Toronto(这些国家和城市在中文里是怎样翻译的?) 为什么promise+to do而consider + doing? the man __ me is talking loudly with the girl __.A .in front ,to his leftB .in front of,to his rightC.at the front of,on his leftD.in front of,on his right为什么? The distance between you and me,that what means to measure?You know what翻译中文 promise doing sth还是to do sth 汉译英 几个短句请翻译以下内容:这是一封来自中国的邮件.由于看到中国的泥炭需求量大增,陆续有欧洲和北美的泥炭公司进驻中国市场,谋求发展.如果您欲在中国市场寻求商业机会,请关注 Paris,Tokyo,toronto各是哪国的城市? promise doing 和promise to do有什么区别?球答.类似的问题呢 xxxto do/doing.. 我不认识音标,怎么学啊 according to the conversation between Joe and the aliens, what do we know about Venus 怎么翻译 你能感受到自然与文化的交融 用英语怎么说 音标也不认识啊 我要去考公共英语四级,请问考过的朋友,我该怎么复习?该怎么复习啊,我看了一下题感觉好难.好害怕.这样是绝对过不了的,我要过的是公共英语四级。现在已经被吓坏了。真不知道报考是对 两种文化碰撞交融的英语怎么说由上传统文化与先进文化碰撞交融的英语怎么说 不认识音标怎么办我想问一下,等我上初中的时候,英语试卷上会不会考音标 She is on longer the pretty girl ______she was.A.that B.who C.as D.whom讲解说that作表语那C为什么不行?as也能作表语,表示人和物都行 having drunk some milk i have some trouble with my stomach这里为什么用having而不用have?为什么? The boy's______ is tom She ___ some of her friends thought she moved to another city.A.kept away from B.took care ofC.kept up with D.caught up with说明理由, “I am having some trouble with my classmates ”said lisa 直接英语变间接英语 “I don‘t want to end 怎么能认识音标!怎么能认识和读好它! 请问Kite is no longer the girl she 请问Kite is no longer the girl 已经是Kite再也不是曾经的那个女孩的意思了,为什么后面还要加she was? Promise to do 和Promise sb to do 区别何在含义 Tom's brother is clever,_________ the boy can't be trusted.A.only B.or C.for D.and She is no longer the girl she was before she went to the countryside.麻烦讲讲这个从句,看得懂,但弄得不太明白. 象interst 修饰人后面加个ed 修饰物么加个ing有什么规律吗 interst又是什么词性 还有哪些词的规律是这样 怎么快速认识音标? what's the Difference between (for and with) (helped and was helping) 怎样能准确的翻译句子 +ed形容人 + ing 形容物 至于什么词加的我忘了.记的我妹妹说过... The town is no longer _____it was five years ago,______it was quite dirty.A what ; which B that ; which C what ; when D that ; where the boy on the bike is tom's brother.对on zhe bike提问,怎么写?little john does his homework every day.对does his homework提问,怎么写?最快的就选! 多伦多什么意思好友在qq里说 “多伦多 俄亥俄”什么意思 以下的字怎么读 英语翻译求翻译 Toronto什么意思? watch out! She does (her homework) in the evening对括号部分提问 going back to toronto for education中文意思是不是正随后去多伦多教育?还是培养? watch out 与watch out for的区别he minds so much about his position in the office that he_____any chance to be promoted.中为什么用watch out for而不用watch out 多伦多属于什么气候类型 Toronto什么意思,帮忙回答一下 That's why I propose,that as of today;这句话中as of 的用法是什么? Tom is a boy w____ small eyes and a big nose. He is a very good man ,还是He is very good man?哪个对? as that用法A large-amplitude compression wave,as that produced by an explosion or by supersonic motion of a body in a medium.中that是指wave么? The boy with big eyes _______ (not be) my brother.The boy in a red T-shirt _______. ] he is poor,he is very happy. 形容词最高级前加the,那么比较级前面加说明? 高中英语省略句的题,1到9 Joan was happy because she was given some _(use) gifts last week. 汉译英(几个短语)1)紧张 2)多喝水 3)太多 4)饮食习惯 5)与.不同6)每年一两次 7)很,非常 8)前往 9)根据,依靠 He is a successful businessman改感叹句?a businessman he is 用括号内单词的正确形式填空.She ______(marry) a rich man some years ago. 比较级前面不用加the,最高级加the ,对吗 My father is a businessman. He likes _________(make)money.He ___________(be) a businessman forMy father is a businessman. He likes _________(make)money.He ___________(be) a businessman for ten years. I was a student some years ago.对some years ago .提问怎么提? 汉译英的几个短语几个短语 do you know what's going on between your legs?求翻译 这个字念,什么
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘