hadoop2简介 - yarn平台
1 简介:
yarn架构:
资源: 运行程序需要的CPU,内存,磁盘,网络
resourceManager: 资源管理,只要需要资源我就协调,不管需要资源的应用是 mapreduce/storm/spark
applicationMaster: 应用管理, 只要是应用,不管是mapreduce/strom/spark的应用类型都管理
applicationMaster类比于JDBC,是一个标准,旗下的具体实现有:
mapreduceApplicationMaster, StormApplicationMaster, SparkApplicationMaster
JDBC旗下的具体实现有: ibatis, hibernate
maprecue架构:
简单理解就是由一堆堆的函数组成,管理和调用的是一个个的程序,
每台机器就是一个独立的操作系统,这台机器做这件事,另一台机器做另一个事,
机器A做的事和机器B是独门独户的,这样就会存在资源利用不高的问题。
比如A机器只有mysql服务器,使用频率并不高
这两个架构可以这么联想理解:
yarn架构是社会主义国家,国家统一支配每个家庭(从节点)的所有资源,能统筹全局,集中力量办大事
mapreduce架构是资本主义国家,每个家庭关起门来自己做自己的事,彼此隔离隐私。
hadoop2: 文件存储系统hdfs + 资源管理调度系统yarn + 批处理计算框架mr 组成。
启动程序,常驻内存的是 HDFS YARN 。
mr计算框架只有在运行的时候才有。
hdfs: 获取数据时,类比于人去银行网点取钱,只关注能取到钱,而不关注
获取的钱是存在哪个地址的银行中
1)为何产生hadoop2, yarn平台内部成员关系介绍
回答:
a) 在hadoop1中,jobtracker的职责主要是资源(slot)管理、应用管理。
仅仅作为出入证的作用,并不在意进入的资源是大房间(4核 16G内存 CPU主频一般)还是小房间(8核 128G内存 CPU主频更高),是一种比较粗的资源划分
b)资源管理: 类比于静态管理,搭建好后,就一直存在着
应用管理: 类比于动态管理,有起始时间
这两者管理不是同一层面的东西,不符合Java中职责单一原则
c) hadoop1中MapReduce框架依赖磁盘io进行计算的大数据计算的解决方案。优点是可以处理海量数据,缺点是处理速度慢。
而在现实需求中,有离线批处理的的,有实时的,有迭代式调用的,真实需求较多,hadoop1架构太局限。
d) 基于以上几点,把hadoop1的mapreduce架构拆分出来,
资源管理:ResourceManager
应用管理:跟着应用而生,应用在他在,应用结束他结束,应用可以是多种类型 eg:离线的mapreduce 实时的strom等
资源管理和应用管理的逻辑总和就是 yarn平台
类比记忆:
yarn平台: 国家税务局--->公司要来我局里申请挂牌,同时接受我局管理,我局会派工作人员(ApplicationMaster)管理公司(maprecue应用 storm应用等)
各种应用: 各种类型的公司--->mapreduce storm等
ResourceManager: 国家税务局领导,负责协调来注册的公司使用我国资源的
hadoop各种版本文档地址:
http://hadoop.apache.org/docs/
hadoop2 yarn 介绍:
a)yarn如何管理节点资源的呢??
b)应用如何提交到yarn上 然后yarn上运行并将结果返回给应用的?
答案见下图:
hdfs和map任务关系:
hadoop2生态圈分子:
下面是yarn平台结构图