热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Hadoop的组成——大数据生态

Hadoop的组成:hadoop1.x:HDFS(存)MapReduce(算资源(内存、CPU、磁盘、网络…)调度)hadoop2.x3.x:HDFS(存)MapReduce(算

Hadoop的组成:

hadoop 1.x : HDFS(存) + MapReduce(算+资源(内存、CPU、磁盘、网络…)调度)
hadoop 2.x/3.x : HDFS(存) + MapReduce(算) + Yarn(资源调度)
在这里插入图片描述

HDFS的架构:


HDFS: Hadoop分布式文件系统, 文件系统是用于对文件进行存储和管理。

分布式可以理解为由多台机器共同构成一个完整的文件系统。
NameNode(nn): 负责管理HDFS中所有文件的元数据信息.
元数据: 用于描述真实数据的数据就是所谓的元数据
例如: 一个真实的数据文件 a.txt,它的元数据为: 文件名 文件大小 文件权限 文件的目录结构 文件对应的块 在哪个dn存
注意: 要想找到HDFS的真实数据必须通过NameNode所维护的元数据才能定位到DataNode中存储的真实数据
DataNode(dn) : 负责管理HDFS的所有的真实文件数据
SecondaryNameNode(2nn): 辅助NameNode工作. 分担NameNode一些工作,减轻NameNode的压力.
注意: 2nn 不是 nn的热备.顶多算nn的秘书.

在一个集群中(非高可用集群): NN(1个) DN(多个) 2NN(1个)

Yarn的架构:

Yarn: 资源调度和管理的框架。 管理和调度的资源就是整个Hadoop集群的资源ResourceManager(RM): 是Yarn的大哥. 负责管理和调度整个集群的资源. 负责处理客户端的请求.负责为Job启动ApplicationMaster。NodeManager(NM): 是每台机器资源的管理者。实际上只是将本机器的资源对ResourceManager做一个汇报.对于资源的分配必须听从ResourceManager的指令.ApplicationMaster(AM):对应每一个Job(MapReduce程序),负责为Job向ResourceMananger去申请资源,申请到资源以后,负责告诉NodeManager去运行对应的任务. 并且负责监控任务的运行状态和任务的容错.Container: 对多维度资源的封装. 方便管理资源及防止资源被侵占.简单模拟一个任务的提交过程和资源调度过程:首先有一个Job(MapReduce程序): 包含2个MapTask 和 1 个ReduceTask1. 客户端提交Job到ResourceManager2. ResourceManager 为 Job 启动 ApplicationMaster , ApplicationMaster的运行也需要资源,因此ApplicationMaster
启动起来以后&#xff0c;就会有一个Container封装ApplicationMaster运行所用的资源. 因为资源都是在NodeManager上&#xff0c;所以ApplicationMaster是运行在某一个NodeManager上.3. ApplicationMaster 会根据Job的情况向 ResourceManager申请资源来运行每个Task&#xff0c;当前Job总共有3个Task, 每个Task都是单独运行&#xff0c;因此需要申请3份资源, 也就意味着又有3个Container运行.4. 所有的资源的分配都是ResourceManager下达指令给NodeManager进行分配的.5. ApplicationMaster为Job成功申请到资源以后&#xff0c;会告诉NodeManager去运行对应的Task&#xff0c;每个Task可能运行到不同的机器&#xff0c;也有可能多个Task运行到同一个机器. 要看当时集群的资源情况.6. 当Job的每个Task都开始运行&#xff0c;ApplicationMaster负责监控整个Job的状态. 要负责容错相关的事情.7. 当Job的每个Task都执行成功后&#xff0c;意味着Job运行完成&#xff0c;此时ApplicationMaster会找ResourceMananger申请注销自己&#xff0c;所有为当前Job申请的资源得到释放. 申请程序员(申请资源)<------ NodeManager (运行不同的Task)

客户端(甲方)—> 找你们做项目(提交Job)—> 项目总监(RM) -------> 交给项目经理(AM) -----> 做项目(程序员负责不同的模块) ---->项目完成(项目经理找项目总监归还程序员)
在这里插入图片描述

MapReduce的架构:

Map阶段(MapTask): 负责将数据分到多台机器中&#xff0c;进行并行计算
Reduce阶段(ReduceTask): 负责将多台机器在map阶段中计算出来的数据&#xff0c;进行整体的汇总.
在这里插入图片描述

大数据生态平台

在这里插入图片描述


推荐阅读
  • Hadoop之Yarn
    目录1Hadoop1.x和Hadoop2.x架构区别2Yarn概述3Yarn基本架构4Yarn工作机制5作业提交全过程6资源调度器7任务的推测执行1Hadoop1.x和Hadoo ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • Hadoop源码解析1Hadoop工程包架构解析
    1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
  • Kylin 单节点安装
    软件环境Hadoop:2.7,3.1(sincev2.5)Hive:0.13-1.2.1HBase:1.1,2.0(sincev2.5)Spark(optional)2.3.0K ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • mapreduce源码分析总结
    这篇文章总结的非常到位,故而转之一MapReduce概述MapReduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的ÿ ... [详细]
  • MR程序的几种提交运行模式本地模型运行1在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行-- ... [详细]
  • 伸缩性|发生_分布式文件系统设计,该从哪些方面考虑?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了分布式文件系统设计,该从哪些方面考虑?相关的知识,希望对你有一定的参考价值。点击上方关注“ ... [详细]
  •        在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下:       1、CentOS6.7下安装JDK,地址:http:b ... [详细]
  • 前言折腾了一段时间hadoop的部署管理,写下此系列博客记录一下。为了避免各位做部署这种重复性的劳动,我已经把部署的步骤写成脚本,各位只需要按着本文把脚本执行完,整个环境基本就部署 ... [详细]
  • 我们在之前的文章中已经初步介绍了Cloudera。hadoop基础----hadoop实战(零)-----hadoop的平台版本选择从版本选择这篇文章中我们了解到除了hadoop官方版本外很多 ... [详细]
  • MapReduce工作流程最详细解释
    MapReduce是我们再进行离线大数据处理的时候经常要使用的计算模型,MapReduce的计算过程被封装的很好,我们只用使用Map和Reduce函数,所以对其整体的计算过程不是太 ... [详细]
  • Zookeeper为分布式环境提供灵活的协调基础架构。ZooKeeper框架支持许多当今最好的工业应用程序。我们将在本章中讨论ZooKeeper的一些最显着的应用。雅虎ZooKee ... [详细]
  • Java开发实战讲解!字节跳动三场技术面+HR面
    二、回顾整理阿里面试题基本就这样了,还有一些零星的问题想不起来了,答案也整理出来了。自我介绍JVM如何加载一个类的过程,双亲委派模型中有 ... [详细]
author-avatar
AmenTo_AT
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有