Hadoop之生态系统

Hadoop生态系统

一、摘要

经过几年的快速发展,Hadoop现在已经发展成为包含多个相关项目的软件生态系统。狭义的Hadoop核心只包括Hadoop Common、Hadoop HDFS和Hadoop MapReduce三个子项目,但是和Hadoop核心密切相关的还包括Avro、Zookeeper、Hive、Pig和Hbase等等项目,构建在这些项目之上的,面向具体领域、应用的Mahout、X-Rime、Crossbow和Ivory等项目,以及Chukwa、Flume、Sqoop、Oozie和Karmasphere等数据交换、工作流和开发环境这样的外围支撑系统。他们提供互补性的服务,共同提供了一个海量数据处理的软件生态系统。

二、详解

            1、Hadoop Common

从Hadoop0.20版本开始,原来Hadoop项目的Core部分更名为Hadoop Common。Common为Hadoop的其他项目提供一些常用工具,主要包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象文件系统FileSystem等。它们为在通用硬件上搭建云环境提供基本的服务,并为运行在该平台的软件开发提供了所需的API。

            2、HDFS

HDFS,Hadoop分布式文件系统,是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。

            3、MapReduce

MapReduce是一种计算模型,泳衣进行大数据量的计算。Hadoop的MapReduce实现,和Common、HDFS一起,构成了Hadoop发展初期的三个组件。MapReduce将应用划分成Map和Reduce两个步骤,其中Map对数据集上的独立元素进行指定的操作,生成键值对形式中间结果。Reduce则对中间结果中相同键的所有值进行规约,已得到最终结果。MapReduce这样的功能划分,非常适合在大量计算机的分布式并行环境里进行数据处理。

            4、Avro

Avro是Doug Cuttiing牵头开发,是一个数据序列化系统。类似于其它序列化机制,Avro可以将数据结构或者对象转换成便于存储和传输的格式,其设计目标是用于支持数据密集型应用,适合大规模数据的存储与交换。Avro提供了丰富的数据结构类型、快速可压缩的二进制数据格式、存储吃就行数据的文件集、远程调用RPC和简单动态语言继承等功能。

            5、Zookeeper

在分布式系统中如何就某个值(决议)达成一致,是一个十分重要的基础问题。Zookeeper作为一个分布式的服务框架,解决了分布式计算中的一致性问题。在此基础上,Zookeeper可用于处理分布式应用中经常遇到的一些数据管理问题,如统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。Zookeeper常作为其他Hadoop相关项目的主要组件,发挥着越来越重要的作用。

            6、Hive

Hive是Hadoop中的一个重要子项目,最早由Facebook设计,是建立在Hadoop基础上的数据仓库架构,它为数据仓库的管理提供了许多功能,包括:数据ETL(抽取、转换和加载)工具、数据存储挂历和大型数据集的查询和分析能力。

Hive提供的一种结构化数据的机制,定义了类似于传统关系型数据库中的类SQL语言:HiveQL,通过查询语言,数据分析人员可以很方便地运行数据分析业务。

            7、HBase

Google发表了BigTable系统论文后,开源社区就开始在HDFS上构建相应的实现HBase。Hbase是一个针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。和传统关系型数据库不同,HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美结合到一起。

            8、Pig

Pig运行在Hadoop上,是对大型数据集进行分析和评估的平台。它简化了使用Hadoop进行数据分析的要求,提供了一个高层次的、面向领域的抽象语言:Pig Latin。通过PigLatin,数据工程师可以将复杂且相互关联的数据分析任务编码为Pig操作上的数据流脚本,通过将该脚本转换为MapReduce任务链,在hadoop上执行。和Hive一样,Pig降低了对大型数据集进行分析和评估的门槛。

            9、Mahout

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

            10、X-RIME

X-RIME是一个开源的社会网络分析工具,它提供了一套基于Hadoop的大规模社会网络/复杂网络分析工具包。X-RIME在MapReduce的框架上对十几种社会网络分析算法进行了并行化与分布式化,从而实现了对互联网级大规模社会网络/复杂网络的分析。它包括HDFS存储系统上的一套适合大规模社会网络分析的数据模型、基于MapReduce实现的一系列社会网络分析分布式计算并行算法和X-RIME处理迷行,即是X-RIME工具链等三部分。

            11、Crossbow

CrossBow是在Bowtie和SOAPsnp基础上,结合Hadoop的可扩展工具,该工具能够充分利用集群进行生物计算。其中,Bowtie是一个快速、高效的基因短序列拼接至模板基因组工具:SOAPsnp则是一个重测序一致性序列建造程序。它们在复杂遗传病和肿瘤易感的基因定位,到群体和进化遗传学研究中发挥着重要作用。CrossBow利用了Hadoop Stream,将Bowtie、SOAPsnp上计算任务分布到Hadoop集群中,满足了新一代基因测序技术带来的海量数据存储以及计算分析要求。

            12、Chukwa

Chukwa是开源的数据收集系统,用于监控大规模分布式系统(2000+以上的节点,系统每天产生的监控数据量在T级别)。它构建在Hadoop的HDFS和MapReduce基础之上,继承了Hadoop的可伸缩性和鲁棒性。Chukwa包含了一个强大和灵活的工具集,提供了数据的生成、收集、排序、去重、分析和展示一系列功能,是Hadoop使用者、集群运维人员和管理人员的必备工具。

            13、Flume

Flume是Cloudera开发维护的分布式、可靠、高可用的日志收集系统。它将数据从产生、传输、处理并最终写入目标的路径的过程抽象为数据流,在具体的数据流中,数据源支持在Flume中定制数据发送方,从而支持手机各种不同协议数据。同时,Flume数据流提供对日志数据进行简单处理的能力,如过滤、格式转换等。此外,Flume还具有能将够日志写往各种数据目标(可定制)的能力。总的来说,Flume是一个可扩展、适合复杂环境的海量日志收集系统。

            14、Sqoop

Sqoop是SQL-to-Hadoop的缩写,是Hadoop 的周边工具,它的主要作用在结构化数据存储与Hadoop之间进行数据交换。Sqoop可以将一个关系型数据库中的数据导入Hadoop的HDFS、Hive中,也可以将HDFS、Hive中的数据导入关系型数据库中。Sqoop充分利用了Hadoop的优点。整个数据导入导出过程都是用MapReduce实现并行化,同时,该过程中的大部分步骤自动执行,非常方便。

            15、Oozie

在Hadoop中执行数据处理工作,有时候需要把多个作业连接在一起,才能达到最终目的。针对上述需求,Yahaoo开发了开源工作引擎流Oozie,用于管理和协调多个运行在Hadoop平台上作业。在Oozie中,计算作业被抽象为动作,控制流节点则用于构建动作间的依赖关系,它们一起组成一个有向无环的工作流,描述了一项完整的数据处理工作。Oozie工作流系统可以提高数据处理流程的柔性,改善Hadoop集群的效率,并降低开发和运营人员的工作量。

            16、Karmasphere

Karmasphere包括Karmasphere Analyst和Karmasphere Studio。其中,Analyst提供了访问保存在Hadoop里面的结构化和非结构化数据的能力,用户可以运用SQL或者其他语言,进行即时查询并做进一步的分析。Studio则是基于NetBeans的MapReduce集成开发环境,开发人员可以利用它方便快速地创建基于Hadoop的MapReduce应用。同时,该工具还提供了一些可视化工具,用于监控任务的执行,显示任务间的输入输出和交互等。需要注意的是,在上面提及的这些项目中,该项目不开源。

时间: 2024-10-01 04:28:20

Hadoop之生态系统的相关文章

Hadoop 生态系统

当下 Hadoop 已经成长为一个庞大的生态体系,只要和海量数据相关的领域,都有 Hadoop 的身影.下图是一个 Hadoop 生态系统的图谱,详细列举了在 Hadoop 这个生态系统中出现的各种数据工具. 这一切,都起源自 Web 数据爆炸时代的来临.Hadoop 生态系统的功能以及对应的开源工具说明如下. MapReduce Google的网络搜索引擎在得益于算法发挥作用的同时,MapReduce在后台发挥了极大的作用.MapReduce框架成为当今大数据处理背后的最具影响力的“发动机”.

Hadoop生态系统概况(转)图文并茂说的不错

Hadoop是一个能够对大量数据进行分布式处理的软件框架.具有可靠.高效.可伸缩的特点. Hadoop的核心是HDFS和Mapreduce,hadoop2.0还包括YARN. 下图为hadoop的生态系统: 2.HDFS(Hadoop分布式文件系统) 源自于Google的GFS论文,发表于2003年10月,HDFS是GFS克隆版. 是Hadoop体系中数据存储管理的基础.它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行.HDFS简化了文件的一致性模型,通过流式数据访问,

hadoop生态系统的详细介绍

1.Hadoop生态系统概况 Hadoop是一个能够对大量数据进行分布式处理的软件框架.具有可靠.高效.可伸缩的特点. Hadoop的核心是HDFS和MapReduce,hadoop2.0还包括YARN. 下图为hadoop的生态系统: 2.HDFS(Hadoop分布式文件系统) 源自于Google的GFS论文,发表于2003年10月,HDFS是GFS克隆版. 是Hadoop体系中数据存储管理的基础.它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行.HDFS简化了文件的

hadoop 之Hadoop生态系统

1.Hadoop生态系统概况 Hadoop是一个能够对大量数据进行分布式处理的软件框架.具有可靠.高效.可伸缩的特点. Hadoop的核心是HDFS和Mapreduce,hadoop2.0还包括YARN. 下图为hadoop的生态系统: 2.HDFS(Hadoop分布式文件系统) 源自于Google的GFS论文,发表于2003年10月,HDFS是GFS克隆版. 是Hadoop体系中数据存储管理的基础.它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行.HDFS简化了文件的

一篇文看懂Hadoop

我们很荣幸能够见证Hadoop十年从无到有,再到称王.感动于技术的日新月异时,希望通过这篇内容深入解读Hadoop的昨天.今天和明天,憧憬下一个十年. 本文分为技术篇.产业篇.应用篇.展望篇四部分 技术篇 2006年项目成立的一开始,“Hadoop”这个单词只代表了两个组件——HDFS和MapReduce.到现在的10个年头,这个单词代表的是“核心”(即Core Hadoop项目)以及与之相关的一个不断成长的生态系统.这个和Linux非常类似,都是由一个核心和一个生态系统组成. 现在Hadoop

hadoop yarn 易理解

Hadoop 和 MRv1 简单介绍 Hadoop 集群可从单一节点(其中所有 Hadoop 实体都在同一个节点上运行)扩展到数千个节点(其中的功能分散在各个节点之间,以增加并行处理活动).图 1 演示了一个 Hadoop 集群的高级组件. 图 1. Hadoop 集群架构的简单演示 一个 Hadoop 集群可分解为两个抽象实体:MapReduce 引擎和分布式文件系统.MapReduce 引擎能够在整个集群上执行 Map 和 Reduce 任务并报告结果,其中分布式文件系统提供了一种存储模式,

Apache顶级项目介绍4 - Hadoop

大象起舞,天下太平,极客们应该知道我们的重量级人物Hadoop登场了. 提到Hadoop, 正所谓饮水思源,我们不得不提及一下Hadoop之父,其对技术界的影响,在近10年可谓重大, 他就是Doug Cutting, 其传奇人生及其大作这里不赘述了,大家可以Google/Bing一下,之后或许我们会推出一些技术大牛的介绍以及好书推荐. 值得提及的是Hadoop之所以诞生于2005-2006之际,是Doug当时受到来自 Google Lab公开发布的几篇paper启发,包括Map/Reduce(2

Hadoop! | 大数据百科 | 数据观 | 中国大数据产业观察_大数据门户

你正在使用过时的浏览器,Amaze UI 暂不支持. 请 升级浏览器 以获得更好的体验! 深度好文丨读完此文,就知道Hadoop了! 来源:BiThink 时间:2016-04-12 15:14:39 作者:陈飚 “昔我十年前,与君始相识.” 一瞬间Hadoop也到了要初中择校的年龄了. 十年前还没有Hadoop,几年前国内IT圈里还不知道什么是Hadoop,而现在几乎所有大型企业的IT系统中有已经有了Hadoop的集群在运行了各式各样的任务. 2006年项目成立的一开始,“Hadoop”这个单

Hadoop生态圈技术图谱

当下Hadoop已经成长为一个庞大的体系,貌似只要和海量数据相关的,没有哪个领域缺少Hadoop的身影,下面是一个Hadoop生态系统的图谱,详细的列举了在Hadoop这个生态系统中出现的各种数据工具.这一切,都起源自Web数据爆炸时代的来临 数据抓取系统-Nutch 海量数据怎么存,当然是用分布式文件系统-HDFS 数据怎么用呢,分析,处理MapReduce框架,让你编写代码来实现对大数据的分析工作 非结构化数据(日志)收集处理-fuse,WebDav,Chukwa,flume,scribe