大数据处理分析中的Hadoop生态架构

        Hadoop是一个大型的分布式计算机系统,对于一个计算机系统,它应该包含计算系统,存储系统、资源管理系统等,下面简单讲解狭义上的Hadoop生态构成:

Hadoop的计算系统

        MapReduce(分布式离线计算框架)

        MapReduce将大规模的集群并行计算抽象成了两部操作:Map、Reduce

        它采用的是Master/Slave计算框架,即一个决策处理单元,多个工作处理单元

        下面举一个简单例子:

        输入一组英语单词,希望统计每一个单词的出现频率,MapReduce框架是这样做的:

        首先,将这些英文单词平均分为3份(分成几份可以自己设定),这样每一份就可以进行并行操作了,对于每一份数据,对其设置一个映射(键值对),比如:"Dear": 1 表示在这份数据中,Dear出现了一次,这就是Map操作的基本思想。

        Map结束后,将所有数据重新混在一起,按照单词进行聚类(按照键进行聚类),然后把每个聚类内部的值相加,汇总成一个数据,比如两个"Bear":1 的键值对可以Reduce成一个"Bear":2 键值对,这样就实现了Reduce的操作,词频也统计出来了

        Spark(分布式实时计算框架)

        Spark是一个实时计算框架,它通过内存访问数据,因此,它可以实现快速大数据的计算,比MapReduce要快很多(因为MapReduce访问数据需要借助硬盘),目前技术市场上常见的快速大数据处理,都是通过Spark实现的

Hadoop的存储系统

        HDFS(分布式文件系统):它是负责规划文件如何在存储器存储的,比如数据在存储器上的分区方式,它管理的是存储低层的一些东西。

HDFS的基本组成:

        DataNode:负责存放具体的数据,一个DataNode一般部署在计算机集群的一台计算机上,集群中的一台计算机可以有一DataNode,也可以有多个DataNode。

        NameNode:负责记录数据存放的信息,如数据存放地址、数据更新信息等,

        想要读数据,客户端首先访问NameNode,NameNode向客户端发送要读取的数据的地址(可能是多个地址,因为数据被分成了多个部分存储,每一份称为一个DataNode),客户端根据地址,对数据进行访问

        想要写数据,客户端也要首先访问NameNode,有NameNode分配存储空间,并返回对应的DataNode的地址给客户端,客户端根据得到的一个或几个地址,进行写数据操作

Hadoop的资源管理系统

        YARN(分布式资源管理系统)

        用户向YARN提交应用程序,ResourceManager会为应用程序在NodeManager上为其分配一个Container,(ResourceManager不负责计算,计算由NodeManager完成)

        NodeManager根据提交程序的基本信息,会再开放一个Container 来注册一个Application Master以管理程序运行过程

        Application Master会向ResourceManager注册,这样用户才可以直接通过ResourceManager查看到应用程序的运行状态

        Application Master还会向ApplicationManager申请相关资源,申请到资源后,Resource Manager会为程序在另一个NodeManager上继续开一个Container,与主NodeManager协同处理任务,下图的一个大框一般是在集群中的一台计算机上运行的。

简而言之,Hadoop生态Mapreduce/Spark(计算)+HDFS(存储系统)+ YARN(资源管理系统)

PS:Hadoop与Spark是相互独立的两个系统,互不依赖,但是两个系统结合在一起工作效果更佳

        

        
       

  • 34
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值