千家信息网

生态系统概述

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,Hadoop生态系统概述以及版本衍化本文内容主要在于,整体把握Hadoop体系各个组成部分,及其各个组件的功能,宏观上阐述,为进一步学习hadoop,打下基础。Hadoop生态系统的有点:1.开源免费
千家信息网最后更新 2026年11月02日生态系统概述

Hadoop生态系统概述以及版本衍化

本文内容主要在于,整体把握Hadoop体系各个组成部分,及其各个组件的功能,宏观上阐述,为进一步学习hadoop,打下基础。

Hadoop生态系统的有点:

1.开源免费,因为开源,所以用的也放心。

2.社区活跃,容易沟通

3.设计分布式存储和计算的方方面面

4.已经在企业中良好运作

Hadoop1.0和2.0的区别

Hadoop目前已经更新到二代,较之一代有很大改进:


最为主要的区别就是在HDFS之上和MapReduce之间添加了一个新的参与则YARN。

到这里,首先说明一下,Hadoop最为重要的就两部分:一分布式存储(HDFS)二大数据计算(MapRudece)。一代Hadoop运行在FDHS之上的计算框架只有MapReduce,应用受到了很大限制,到了二代,YARN就横空出世。

这里可以简单理解YARN就像一个扩展巢,在YARN上面可以运行很多的计算框架了。YARN负责集群资源的统一管理和调度

Hadoop介绍(概述):

1分布式存储系统HDFS(Hadoop Distributed FileSystem)

分布式存储系统

提供了高可靠性、高扩展性和高吞吐率的数据存储服务

2.资源管理系统YARN(Yet Another Resource Negotiator):

负责集群资源统一管理和调度

3.分布式计算框架 MapReduce

分布式计算框架

具有易于编程、高容错性和高扩展性等优点

简单分层模型如下图所示:

HDFS

HDFS特点:

良好的扩展性

高容错性

适合PB级以上的海量数据的存储

基本原理:

将文件切割分成瞪大的数据块,存储到多台机器上

将数据切分、容错,负责均衡等功能对用户透明化(具体如何实现,不用开发者过问) 可将HDFS看成一个容量巨大,且具有高容错性的磁盘

上图所展示的就是HDFS的工作划分:可以看出,HDFS主要有两个部分组成:

NAMENODE节点(NN)和DATA NODE(DN)节点

大数据中,HDFS集群以Master-Slave模式运行,主要有两类节点:一个Namenode(即Master)和多个Datanode(即Slave)。Namenode管理者文件系统的Namespace。它维护着文件系统树(filesystem tree)以及文件树中所有的文件和文件夹的元数据(metadata)。

以上还能看出,ZooKeeper在这里扮演者调度管理者,同时也在监控着HDFS各个节点的状态。

因为,本文主要是宏观说Haoop这里不不展开说了

YARN:

Hadoop2.0新增的一个角色

负责集群的资源管理和调度

使得多种计算框架可以运行在一个集群中

Yarn的特点:

良好的扩展性,高可用性

对多种类型的应用程序进行统一的管理和调度

自带了多种多用户调度器,适合共享集群环境

上图比较直观反映了,在这个集群上,不同时段上

Hadoop(主要指MapReduce) Spark(基于内存的计算框架, in-memory) MPI (也是一种计算框架)三者上都有性能不足时候,这样通过YARN可以进行干预,让他们之间互补,如在MapReduce性能不能完全发挥是,可以分配少一点资源,让Spark顶上去,协调集群的资源调度。

上图,则反映YARN 的工作机制,依然能看出Master-Slave的模式运行机制

这张图更为直观,显示,YARN就像插排一一样,上面可以扩展多种分布式计算框架,

如批处理的MapReduce、交互式的Tez、流式处理的Storm ,图处理的Giraph,内存处理计算的Spark等等

MapReduce

良好的扩展性

高容错性

适合PB级以上海量数据的离线处理

上图,可以看出 MapReduce工作分成两块,Map 和 Rudece :

首先用户书写程序,经由master分配工作,首先将用户提交的数据Split 成若干块,每块放入一个MapWorker 作业,这样就可以并行处理数据,这个过程可以看成分发处理;处理的结果先放入本地磁盘中,然后再由 Reduce部分中的worker在计算,最终输出结果,传入HDFS中去。这里值得注意的是,输入的文件格式和最终处理的格式始终保持一致的,这也包括中间处理的结果文件格式。

这张图,反映的是MapReduce对文件中出现的单词统计的程序,先将文件中的词拆分几个部分,然后在Map作业处理统计,经shuff 洗牌,然后交由Rudce处理作业,这个时候可以看出,中间处理的数据已经有所变化,已经做了归并的处理,这个时候只要在归并的基础上再进行统计,将最终的结果输出。

下面我们通过两张Hadoop生态系统总图来比交一下1.0和2.0的差异:


Hadoop1.0


Hadoop2.0

简单说明:

各个组件功能图中都有标明,这里不赘述了。

主要说一下Hive,Pig ,Mahout

首先,我们要处理数据,一般是通过书写MapReduce程序来处理输入的数据,其代码是有java书写。这样就导致了那些没有java基础但又想要做大数据处理的工作者犯难了。

这样Hive和Pig就登场了,这里可以理解他们是两位翻译官。

Hive(Facebook提出)提供了一种类似于传统Sql语句的Hql语言,来书写要处理的数据代码。通过Hive就可以实现将Hql写的代码,自动转变成MapReduce程序。

同理,Pig提出了一种新PigLatin的语言,书写处理数据的程序。他也能转成MapReduce程序

Mahout提供了数据挖掘库,这里包含了大量算法,主要包括三大类:

推荐(Recommendation)

聚类(Clustering)

分类(Classification)

这样,开发人员就不发费大量时间在构筑算中,提高工作效率。

Oozie它使得开发人员能够调度电子邮件通知方面的重复作业,或者调度使用 Java、UNIX Shell、Apache Hive、Apache Pig 和 Apache Sqoop 等各种编程语言编写的重复作业。

目前计算框架和作业繁多:

MapReduce Storm Hive Pig 等

这样就会存在以下问题:

  1. 1. 不同作业之间存在依赖关系(DAG)

  2. 2. 有的作业周期执行

  3. 3. 有的作业需要定时执行

  4. 4. 作业执行状态需要监控与报警(发邮件,短信)

这个时候就需要Oozie进行统一管理和调度

HBase:Hadoop的数据库

高可靠性

高性能

面向列

良好的扩展性

组成:

Table表:类似传统数据中的表

ColumnFamily :列族

table在水平方向有一个或者多个Column Family组成

一个column family 中可以由任意多个Column组成

RowKey:行键

Table的主键

Table中的记录按照RowKey排序

TimeStamp:时间戳

每个行数据均对应一个时间戳

版本号

Zookeeper:它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

覆盖范围:HDFS YARN Storm HBaseFlume Dubbo(阿里巴巴) Metaq(阿里巴巴)

Sqoop:(数据同步工具)

连接Hadoop与传统数据库之间的桥梁

支持多种数据库,包括MySql、DB2等

插拔式,用户可根据需要支持新的数据库

本质上一个MapReduce程序:

充分利用MapReduce分布式并行的特点MapReduce容错性

Flume(日志搜集工具):

分布式

高可靠性

高容错性

易于定制与扩展


数据 处理 分布式 文件 作业 调度 系统 框架 程序 集群 管理 容错 存储 容错性 扩展性 用户 资源 工作 良好 功能 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 国智互联网科技 互联网科技公司的优势 深圳期待互联网科技 互联网金融科技委员会 互联网金融监管科技 哈尔滨新华互联网科技 山东吉时兔互联网科技有限公司 苏州五指互联网络科技有限 互联网公司黑科技创始人 互联网在线教育科技创业 高科技互联网发展前景如何 科技赋能视角下互联网保险发展 伊宁互联网科技做什么的 2021互联网科技公司排名 半导体是互联网高科技吗 南京一网一红互联网科技有限公司 国产互联网科技公司 长沙渺峰互联网科技有限公司 北京互联网科技类企业分布 广西泛欧互联网科技有限公司 深圳恒合互联网络科技有限公司 互联网最新的科技有限公司 科技制造互联网公司 为想互联网科技 世界互联网领先科技成果 深圳互联网科技怎么样 剑昆互联网络科技有限公司临桂 昭通互联网科技选哪家 滨湖区互联网智能科技产品有哪些 美国互联网科技实力
0