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

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

用VB6.0实现打字效果 用VB编写DirectX7.0游戏(上) 用VB创建Excel报表 用VB读取和控制Windows的中文输入法 用VB将命令行软件Windows化 用VB进行移位操作 用VB开发CAI软件的小经验 用VB开发分布式应用 用VB切换三个特殊键 用VB生成EXE文件后,如何在后面加上参数?这个参数怎样传给VB 用VB实现动态显示操作进度程序 用VB实现双向循环链表 用VB实现用户登录密码的修改 用VB与MS-Draw开发通用作图软件 用VB制作TopMost类型窗口 用VB制作Windows风格安装盘 用Visual Basic 6创建基于MTS的商务组件 用Visual Basic实现Windows的重启动 VB用Windows管理技术做你的应用程序 VB用程序给标识字段(ID)赋值的一种简单实现方法 VB用自己的&#39;PROGRAM&#39;测试自己的电脑 有 BitMap 之Menu -VB资料 运行其他程序,并等待执行完毕 -VB资料 再谈VB程序的加密 在 VB 程序中如何设定 Mouse 光标的位置? 在ActiveX DLL工程中慎用App对象-VB资料 在ActiveX控件工程中设置DataField属性-VB资料 在VB中异步执行程序 在VB编程中有效地组织和利用资源 在VB应用程序中巧用DLL 在VB应用程序中使用INI文件的一点体会 请推荐一些有关.net平台的优秀书籍 加密字符串的问题 win2000下无法正常使用localhost来浏览asp页? ★★★如何将一个数字转换成英文写法?急急急!!!★★★ 关于FTP站点下载得问题。。。 STL中有没有左高树?或者菲薄那契堆? 目前,主流的B/S结构的数据库前端开发工具是什么?哪个最有前途? 给我个喜欢VC放JAVA的理由先! 如何解决两个tabpage互换时,tabpage上的控件因检索大量数据而闪烁。 有关dll在设备驱动中的问题。急,在线等待。多谢多谢!! 一个字符串常量"aaa=",一个字符串指针char *m_buffer="bbb",怎样相加得到"aaa=bbb".谢谢! 54beginner java文本框的问题 谁有Dream控件的原码(200分酬谢) 在php+mysql中能不能把数据库文件放到别的目录下! 急 求援!有谁在看<<c++大学教程(第二版)>>电子工业出版社,一道题难住了. 这是为什么???? delphi程序最小化后如何常驻内存执行(在屏幕右下角)? 用sql语句怎样创建自动编号的字段 关于外键???有人说在数据库应用中不应该使用外键,请大家说明自己的观点!! DataEnvironment如何设置相对路径的数据库 在VC中如何利用VFP的GRID控件 问高手,加密过的asp代码,用什么工具可以解码,为什么我这个工具不能用 url.openStream,从主机读取资源的疑问???? 关于外键???有人说在数据库应用中不应该使用外键,请大家说明自己的观点!! 急救,请问 TClientDataSet 的 RefreshRecord如何使用,它起的是什么作用? 窗体的大小不能改变,应怎样设置? 调查:大家说说,自己这辈子打心眼里最对不起的一个人是谁???? 关于WIN2000双启动的问题 请问怎样才能取得指针所在行的行号? 给我足够学习java的理由先! 如何屏蔽ctrl+alt+delete??? 错误的ASP:0107堆栈溢出,处理中的数据超过允许的极限!? 菜鸟的 弱问题 50分送上 相信很多人和我一样对下面的问题都非常感兴趣。。。 可否做出 有没有高手知道如何修改?用户dbo的login name为空,要改为sa如何做? 关于调色板的问题,多谢 谁知道哪有vs.C#编程百例一书中的百例download!多谢了! 要写就写爽,再来一首词 关于ado.net数据的问题 我想在输入密码时不要显示***,直接显示数据,该如何设置? 单文档多视:为何切换后视和客户区不一样大?最大化也不响应? 请问哪儿有 stl&gp 下载? 各位老大救救我 TMenu和TTreeView的紧密协作实现安全权限的设置 j2ee认证考试有人知道吗? 有关Java中事件 关于JTable的DefaultTableModel获取表格单元值的问题? j2ee认证考试有人知道吗? 我要去参加晓通公司举办的pb8 internet 开发培训班,希望大家多提一些问题 为什么说放弃也是一种美丽? 小仪人骑自行车加速度和推车前进时,地面对自行车前轮和后轮的摩擦力方向?急~!~!~!~!~!~!~!~! 一篇英语作文 作文题目是《我的春节》要运用初一到初三的知识,要用一般现代式和一般过去式,字数200字 放弃也是一种美恋爱来的时候还会来,不来的时候,你也求不得,放弃啦,期待下次,. 小议人骑自行车加速行驶和推车前进时,地面对自行车前轮和后轮的摩擦力方向写一篇科学小论文 幼儿园教师把一箱饼干分给小班和中班的小朋友,平均每人分得6块;如果只分给中班的小朋友,平均每人可以多分得4块.如果只分给小班的小朋友,平均每人分得多少块?(一元一次方程) 加速度最基本的公式就是Vt=V0+at^2 X=V0t+1/2aVt^2但是我们做题的时候遇到很多公式像什么相同时间内X1:X2:X3...=1:4:9.)相同位移时间比是什么根号几比跟好几还有很多公式像V2/x=根号(V0^2+Vt^2)/2 等等 以“小议人骑自行车加速行使和推车前进时,地面对自行车前轮和后轮的摩擦力方向”为题,写1篇科学小论文 幼儿园教师把一箱饼干分给小班和中班的小朋友平均每人分6块;如果只分给中班的小朋 we can't learn all we need on the internet写一篇英语作文60至80词即可 优秀英语作文 跟加速度有关的所有计算公式 How tO be safe on the internet 英语作文80词的. 哪里找优秀的英语作文 英语作文,告诉大家怎样做对别人才是有礼貌的 急,小红对本班同学上学的出行情况进行了调查.1/3的同学乘汽车上学,2/5的同学坐家长的自行车或摩托车上学,其余同学不行上学.步行上学的同学占全班人数的几分之几? 英语翻译随便什么话题,最好是小学生英语作文 放弃也是一种美丽许多的事情,总是在经历过以后才会懂得.一如感情,痛过了才知道如何保护自己;傻过了,才会懂得适时的坚持与放弃,在得到与失去中我们慢慢的认识自己. 物理题 小红家与学校间隔一座大山,每天上学时,五分之二的路程是上坡,其余是下坡,小红从家到校要走36分物理题 小红家与学校间隔一座大山,每天上学时,五分之二的路程是上坡,其余是下 初二优秀英语作文i want to do something for school 请问下如图 汽车速度表上那个黄色灯的标志是什么意思前段时间出现了几天没了 现在又出现了 怎样保护生态平衡 高一的优秀英语作文我是山西的一名高中生为了提高英语成绩我打算背一些英语作文要有每一句翻译,要是有具体的语法解释的话,那就更好了哈总之要一些经典的文章 如图,这是什么车啊?求这车的名称和型号... 我们应该怎样保护生态平衡 当前生态平衡遭到破坏的因素有哪些 请问图中的车是什么? 英语作文80个词,该怎么写 造成生态平衡破坏的人为之原因之一是```` 请问图中这台是什么车?就是不知道才问的具体是哪个品牌的? 帮忙写篇英语作文.要有80词 的公式 英语作文 杰克是一名中学生,一放学回家就打开电脑.父母认为太在电脑上花了太多时间,.英语作文请以书信的形式向杰克的朋友Frank讲述自己的遭遇,不少于50词 注:不要有语法、时态(最好 8个金币中有一个是假的,假的比真的轻,用天平秤2次,把假的找出来 初中生英语作文各位哥哥姐姐,我明天就考English了啊!so,得到个内部消息,就是作文题材很可能是 寒假怎么过 ,希望各位哥哥姐姐能帮我找一篇60词以上的,要求使用be going to和want 的句型的, 英语作文 杰克是一名中学生,一放学回家就打开电脑.父母认为太在电脑上花了太多时间.请向杰克的好朋友Frank用书信的形式讲述自己的遭遇.不少于50词 (不要有语法、时态、第三人称单数的 我山地车刹车片老摩在轮胎上怎么办公爵500,去了两家修车店 都说摩擦一点是正常的,说有的车很难搞,一点点就要弄半天没准还弄不好,说可以骑就行了,真烦,有一家还好给我拧了两下摩擦不那 求篇初中生英语作文假设张玉坤 17:34:08你是李平谁为寂寞买单 17:34:14然后呢?张玉坤 17:34:20下星期是你的生日张玉坤 17:34:49你准备在家开一个生日晚会 并邀请你的朋友参加张玉坤 17:34:57晚会7. 因为他想去借书 用英语怎么说? 坐汽车,乙骑自行车,都从甲地匀速驶往乙地.已知汽车经过两地中点时,自行车走了全程的五分之二 ,张津坐汽车,王东骑自行车,都从甲地匀速驶往乙地.已知汽车经过两地中点时,自行车走了全程 初中生英语作文范文在哪里找?刚刚上初中要写英语作文,我找初中生英语作文范文. 3月12日是植树节.我们少先队员每年都有到公园植树.今年也不例外看这张照片,BEN正在快速地挖洞,TONY正在慢慢地般小树苗,我正在认真地植树,LISA正在浇水,鸟儿正在快乐地在树枝上歌唱…… 奶糖每千克4.5元,水果糖每千克3元,要配制出礼品唐4.8元奶糖和水果糖要什么比例 初中生英语作文, 高分求几篇六年级水平的英语作文!我要这么几篇英语作文 六句话以上1 Our school library 2 My Desk-mate 3 1 have a dream 4 My favourite food 5 My English Teacher 6 A new year party 7 Our English Evening急 越快越好 满意 有80个硬币,其中一个是假的比较轻给你个天平你要最少称几次? 小明骑自行车,看到前方的红灯就停止蹬车,则此时前轮后轮受摩擦力方向如何? 幼儿园阿姨给同学分糖.如果每人分7块则差24块,如果每人分4块分完,把糖分给了几个同学?一共有多少个糖 英语作文 中学生日常行为规范 80词左右是应该干.不能干什么.急 试试放弃吧,也许,放弃对我们也是一种美丽.你有什么看法?要实例! 胶水干了后用什么才能使它溶解? 一辆汽车在高速公路上行驶,某时刻速度表的指针指在80Km/h,所指的速度是平均速度吗?谢谢!快! 我想成为一名.英语作文该怎么写? 胶水干了怎么办做工艺画时拿到一种黄色的胶水,放在针管里,涂成线,粘贴细条状的东西.涂上以后过一会儿会变成半固状.现在胶水可能干了,把针头堵住了,针管里的也变稠了.这是什么胶水,有 两辆速度都为80km/h的轿车在高速公路上迎面相撞,车子受损的情况是相当于一辆车以80km/h撞上墙,还是以160(都为完全非弹性碰撞,墙是刚性的而车不是,要从物理的角度分析,车是一样的,撞 英语作文 我想成为一名律师60字左右, 为什么速干胶会使泡沫塑料溶化 不小心101胶水弄到衣服上,硬硬的,怎么办啊手上也弄到了,弄不掉,怎么办啊?是棉制的衣服 英语作文 我想成为一名服装设计师我的梦想(未来){这是题目} 要初二水平,不用太长,60词左右就可以,星期四之前要,中间最好提到巴黎,最好还有汉语意思! 汽车从A城行驶到高速公路收费站C处的速度大约是每小时多少千米?(得数保留整数)有图片!从收费站C处到B城的这段高速公路上,汽车的平均速度大约是每小时多少千米?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘