生态系统概述

发布时间:2020-07-16 09:49:06 作者:colapanda
来源:网络 阅读:826

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

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

 

Hadoop生态系统的有点:

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

2.社区活跃,容易沟通

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

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

 

 

Hadoop1.02.0的区别

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


 生态系统概述

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

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

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

 

Hadoop介绍(概述)

1分布式存储系统HDFSHadoop Distributed FileSystem

       分布式存储系统

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

 

2.资源管理系统YARNYet Another Resource Negotiator:

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

 

3.分布式计算框架 MapReduce

       分布式计算框架

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

 

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

生态系统概述

 

HDFS

HDFS特点:

       良好的扩展性

       高容错性

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

 

基本原理:

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

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

 

生态系统概述

 

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

NAMENODE节点(NN)和DATA NODEDN节点

大数据中,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.02.0的差异:

生态系统概述


Hadoop1.0

生态系统概述


Hadoop2.0

简单说明:

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

       主要说一下HivePig Mahout

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

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

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

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

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

推荐(Recommendation

聚类(Clustering

分类(Classification

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

 

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

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

       MapReduce Storm Hive Pig

这样就会存在以下问题:

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

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

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

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

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

 

       HBaseHadoop的数据库

              高可靠性

              高性能

              面向列

              良好的扩展性

组成:

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

ColumnFamily :列族

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

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

RowKey:行键

              Table的主键

              Table中的记录按照RowKey排序

TimeStamp:时间戳

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

              版本号

 

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

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

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

 

       Sqoop:(数据同步工具)

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

       支持多种数据库,包括MySqlDB2

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

       本质上一个MapReduce程序:

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

 

    Flume(日志搜集工具):

    分布式

    高可靠性

    高容错性

    易于定制与扩展


推荐阅读:
  1. 操作系统概述(二)
  2. GlusterFS分布式文件系统概述

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hadoop 生态系统 概述 生态系统

上一篇:什么是事务的一致性

下一篇:新手向:从不同的角度来详细分析Redis

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》