首页 > 编程知识 正文

hadoop生态圈搭建,列举三个hadoop生态圈的技术

时间:2023-05-05 18:30:47 阅读:56969 作者:2234

技术标志: hadoop、生态圈、ecosystem、yarn、spark、入门

1. hadoop生态概况Hadoop是由Apache基金会开发的分布式系统基础架构。

用户可以在不知道分布式基础细节的情况下开发分布式程序。 充分利用集群的威力进行高速运算和存储。

具有良好的可靠性、效率和伸缩性。

Hadoop的核心是YARN、HDFS和Mapreduce。

下图为hadoop生态系统,集成于spark生态圈。 今后,hadoop将与spark共存,hadoop和spark将部署在yarn、mesos资源管理系统之上

以下简要介绍了其中的各个组件,具体见后续博文系列。

2、HDFS(Hadoop分布式文件系统)来源于谷歌的GFS论文,于2003年10月发表,HDFS是GFS克隆版。

HDFS是Hadoop系统中数据存储管理的基础。 它是一个容错系统,可检测和响应硬件故障,可在低成本的通用硬件上运行。

HDFS简化了文件完整性模型,通过流数据访问提供了高吞吐量的APP应用程序数据访问功能,适用于具有大型数据集的APP应用程序。

提供一种通过一次写入多次读取的机制,数据以块的形式同时分布在集群的不同物理计算机上。

3、Mapreduce (分布式计算框架)来源于谷歌的Mapreduce论文,于2004年12月发表。 Hadoop MapReduce是谷歌地图克隆版。

MapReduce是进行大数据量计算的分布式计算模型。 屏蔽分布式计算框架的详细信息,并将计算抽象为地图和reduce两部分

其中,Map对数据集上的独立元素执行指定操作,并生成键-值对格式的中间结果。 Reduce将中间结果中相同“键”的所有“值”规约化,得到最终结果。

MapReduce非常适合在由大量计算机组成的分布式并行环境中处理数据。

4. HBASE (分布式列存储数据库)来源于谷歌的Bigtable论文,于2006年11月发表。 HBase是谷歌bigtable克隆版。

HBase是构建在HDFS上的面向结构化数据的可伸缩、高可靠性、高性能、分布式和面向列的动态架构数据库。

HBase采用了BigTable的数据模型。 在增强的稀疏排序贴图(Key/Value )中,关键帧由行关键帧、列关键帧和时间戳组成。

HBase提供对大数据的随机实时读写访问,同时存储在HBase中的数据可以使用MapReduce进行处理,将数据存储与并行计算完美结合。

5. Zookeeper (分布式协作服务)源于谷歌的Chubby论文,于2006年11月发表。 Zookeeper是Chubby克隆版

解决分布式环境中的数据管理问题:统一命名、状态同步、集群管理、配置同步等。

Hadoop的许多组件依赖于Zookeeper,并在计算机群集上运行以管理Hadoop操作。

6 .数据仓库(6. HIVE )由facebook开源,最初用于解决大量结构化日志数据的统计问题。

Hive定义类似SQL的查询语言(HQL ),将SQL转换为MapReduce任务并在Hadoop中运行。 通常用于离线分析。

HQL用于执行存储在Hadoop中的查询语句,Hive允许不熟悉MapReduce的开发人员创建数据查询语句。 然后,这些语句被翻译成Hadoop上面的MapReduce任务。

7.pig (ad hoc脚本)是雅虎! 开源、设计的动机是提供基于MapReduce的ad hoc (计算查询时发生)数据分析工具

Pig定义了一种名为Pig Latin的数据流语言,它抽象了MapReduce编程的复杂性。 Pig平台包含用于分析运行时环境和Hadoop数据集的脚本语言(Pig Latin )。

编译器将Pig Latin翻译为MapReduce程序序列,将脚本转换为MapReduce任务,并在Hadoop中运行。 通常用于离线分析。

8 .数据ETL/同步工具(Sqoop ) Sqoop是SQL-to-Hadoop的缩写,主要用于在传统数据库和Hadoop之前传输数据。 数据导入和导出本质上是一个Mapreduce程序,利用了MR的并行化和容错。

Sqoop利用数据库技术编写模式,用于在关系数据库、数据仓库和Hadoop之间传输数据。

9 .日志采集工具(9.Flume ) Cloudera的开源日志采集系统具有分布式、高可靠性、容错、易于定制和扩展的特点。

将生成、传输和处理数据并最终写入目标路径的过程抽象为数据流。 在特定数据流中,数据源支持在Flume中自定义数据源,并支持收集各种协议数据。

另一方面,Flume数据流提供了易于处理日志数据的功能,如过滤、格式转换等。 Flume还具有将日志写入各种数据目标(可定制)的能力。

通常,Flume是一个可扩展、适用于复杂环境的大量日志收集系统。 当然,也可以用于收集其他种类数据

10.Mahout (数目

据挖掘算法库)

Mahout起源于2008年,最初是Apache Lucent的子项目,它在极短的时间内取得了长足的发展,现在是Apache的顶级项目。
Mahout的主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。
Mahout现在已经包含了聚类、分类、推荐引擎(协同过滤)和频繁集挖掘等广泛使用的数据挖掘方法。
除了算法,Mahout还包含数据的输入/输出工具、与其他存储系统(如数据库、MongoDB 或Cassandra)集成等数据挖掘支持架构。

11. Oozie(工作流调度器)

Oozie是一个可扩展的工作体系,集成于Hadoop的堆栈,用于协调多个MapReduce作业的执行。它能够管理一个复杂的系统,基于外部事件来执行,外部事件包括数据的定时和数据的出现。
Oozie工作流是放置在控制依赖DAG(有向无环图 Direct Acyclic Graph)中的一组动作(例如,Hadoop的Map/Reduce作业、Pig作业等),其中指定了动作执行的顺序。
Oozie使用hPDL(一种XML流程定义语言)来描述这个图。

12. Yarn(分布式资源管理器)

YARN是下一代MapReduce,即MRv2,是在第一代MapReduce基础上演变而来的,主要是为了解决原始Hadoop扩展性较差,不支持多计算框架而提出的。
Yarn是下一代 Hadoop 计算平台,yarn是一个通用的运行时框架,用户可以编写自己的计算框架,在该运行环境中运行。
用于自己编写的框架作为客户端的一个lib,在运用提交作业时打包即可。该框架为提供了以下几个组件:

资源管理:包括应用程序管理和机器资源管理资源双层调度容错性:各个组件均有考虑容错性扩展性:可扩展到上万个节点13. Mesos(分布式资源管理器)

Mesos诞生于UC Berkeley的一个研究项目,现已成为Apache项目,当前有一些公司使用Mesos管理集群资源,比如Twitter。
与yarn类似,Mesos是一个资源统一管理和调度的平台,同样支持比如MR、steaming等多种运算框架。

14. Tachyon(分布式内存文件系统)

Tachyon(/'t?ki:??n/ 意为超光速粒子)是以内存为中心的分布式文件系统,拥有高性能和容错能力,
能够为集群框架(如Spark、MapReduce)提供可靠的内存级速度的文件共享服务。
Tachyon诞生于UC Berkeley的AMPLab。

15. Tez(DAG计算模型)

Tez是Apache最新开源的支持DAG作业的计算框架,它直接源于MapReduce框架,核心思想是将Map和Reduce两个操作进一步拆分,
即Map被拆分成Input、Processor、Sort、Merge和Output, Reduce被拆分成Input、Shuffle、Sort、Merge、Processor和Output等,
这样,这些分解后的元操作可以任意灵活组合,产生新的操作,这些操作经过一些控制程序组装后,可形成一个大的DAG作业。
目前hive支持mr、tez计算模型,tez能完美二进制mr程序,提升运算性能。

16. Spark(内存DAG计算模型)

Spark是一个Apache项目,它被标榜为“快如闪电的集群计算”。它拥有一个繁荣的开源社区,并且是目前最活跃的Apache项目。
最早Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架。
Spark提供了一个更快、更通用的数据处理平台。和Hadoop相比,Spark可以让你的程序在内存中运行时速度提升100倍,或者在磁盘上运行时速度提升10倍

17. Giraph(图计算模型)

Apache Giraph是一个可伸缩的分布式迭代图处理系统, 基于Hadoop平台,灵感来自 BSP (bulk synchronous parallel) 和 Google 的 Pregel。
最早出自雅虎。雅虎在开发Giraph时采用了Google工程师2010年发表的论文《Pregel:大规模图表处理系统》中的原理。后来,雅虎将Giraph捐赠给Apache软件基金会。
目前所有人都可以下载Giraph,它已经成为Apache软件基金会的开源项目,并得到Facebook的支持,获得多方面的改进。

18. GraphX(图计算模型)

Spark GraphX最先是伯克利AMPLAB的一个分布式图计算框架项目,目前整合在spark运行框架中,为其提供BSP大规模并行图计算能力。

19. MLib(机器学习库)

Spark MLlib是一个机器学习库,它提供了各种各样的算法,这些算法用来在集群上针对分类、回归、聚类、协同过滤等。

20. Streaming(流计算模型)

Spark Streaming支持对流数据的实时处理,以微批的方式对实时数据进行计算

21. Kafka(分布式消息队列)

Kafka是Linkedin于2010年12月份开源的消息系统,它主要用于处理活跃的流式数据。
活跃的流式数据在web网站应用中非常常见,这些数据包括网站的pv、用户访问了什么内容,搜索了什么内容等。
这些数据通常以日志的形式记录下来,然后每隔一段时间进行一次统计处理。

22. Phoenix(hbase sql接口)

Apache Phoenix 是HBase的SQL驱动,Phoenix 使得Hbase 支持通过JDBC的方式进行访问,并将你的SQL查询转换成Hbase的扫描和相应的动作。

23. ranger(安全管理工具)

Apache ranger是一个hadoop集群权限框架,提供操作、监控、管理复杂的数据权限,它提供一个集中的管理机制,管理基于yarn的hadoop生态圈的所有数据权限。

24. knox(hadoop安全网关)

Apache knox是一个访问hadoop集群的restapi网关,它为所有rest访问提供了一个简单的访问接口点,能完成3A认证(Authentication,Authorization,Auditing)和SSO(单点登录)等。

25. falcon(数据生命周期管理工具)

Apache Falcon 是一个面向Hadoop的、新的数据处理和管理平台,设计用于数据移动、数据管道协调、生命周期管理和数据发现。它使终端用户可以快速地将他们的数据及其相关的处理和管理任务“上载(onboard)”到Hadoop集群。

26.Ambari(安装部署配置管理工具)

Apache Ambari 的作用来说,就是创建、管理、监视 Hadoop 的集群,是为了让 Hadoop 以及相关的大数据软件更容易使用的一个web工具。

参考文献:

Hadoop生态系统介绍 http://blog.csdn.net/qa962839575/article/details/44256769?ref=myread
大数据和Hadoop生态圈,Hadoop发行版和基于Hadoop的企业级应用 http://www.36dsj.com/archives/26942
Oozie介绍 http://blog.csdn.net/wf1982/article/details/7200663
统一资源管理与调度平台(系统)介绍 http://blog.csdn.net/meeasyhappy/article/details/8669688
Tachyon简介http://blog.csdn.net/u014252240/article/details/41810849

Apache Tez:一个运行在YARN之上支持DAG作业的计算框架 http://segmentfault.com/a/1190000000458726
Giraph:基于Hadoop的开源图形处理平台 http://tech.it168.com/a2013/0821/1523/000001523700.shtml
Hadoop家族学习路线图 http://blog.fens.me/hadoop-family-roadmap/
基于Spark的图计算框架 GraphX 入门介绍 http://www.open-open.com/lib/view/open1420689305781.html
Apache Spark 入门简介 http://blog.jobbole.com/89446/
Ambari——大数据平台的搭建利器 http://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/index.html
消息系统Kafka介绍 http://dongxicheng.org/search-engine/kafka/
使用Apache Phoenix 实现 SQL 操作HBase http://www.tuicool.com/articles/vu6jae
面向Hadoop的、新的数据处理和管理平台:Apache Falcon http://www.open-open.com/lib/view/open1422533435767.html

原文链接:http://www.cnblogs.com/gridmix/p/5102694.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。