Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > 大数据云计算 >

hadoop和yarn原理笔记 PDF 下载


分享到:
时间:2020-07-19 11:21来源:http://www.java1234.com 作者:小锋  侵权举报
hadoop和yarn原理笔记 PDF 下载
失效链接处理
hadoop和yarn原理笔记 PDF 下载

本站整理下载:
 
相关截图:
 
主要内容:

数据特点:
4V 
数据量计算量大
数据来源数据格式多种多样
单条数据价值低 综合价值大
增长速度处理速度需要更快
 
单机处理不了的业务 才需要大数据
 
 
storm 流式计算
spark 内存计算
impala 计算引擎是自己的开发的 所以比hive的mr快
kylin 底层hadoop取数 然后与计算 结果存在 hbase中
hdfs 资源存储
hadoop中的yarn 资源管理组件
 
 
 
mr v2: ResourceManager管理整体资源调度 分配容器给applicationmaster
             NodeManager管理所在节点的资源调度并上报状态报告给RN
 
分布式hadoop架构
hadoop分为几大部分:yarn负责资源和任务管理、hdfs负责分布式存储、map-reduce负责分布式计算
hadoop集群:
  M/S架构(主从架构):
   master:主节点 运行namenode、resourceManager服务进程 
   slave:从节点,运行datanode 、nodemanager服务进程
namenode进程,负责记录各个数据库存储空间,与datanode进行通信,获取其监控状态,并根据决策算法将数据分发到某些节点
secondary namenode:监控hdfs状态辅助后台程序 备份定期保存namenode进行通信定期保存快照 协助namenode合并事务日志文件 
datanode进程,负责实际数据存储,于namenode进行通信,将其所在节点的存储状态汇报给namenode,以供决策
namenode 是逻辑上的主节点 可以是一个服务器也可以是两个服务器 
两个服务器构建namenode 其中一个是热备
 
2.0 新特性  
1.namenode HA(高可用性)单点故障 :两个namenode 一个是active  NN 一个 是standby NN(当active挂了standby开始启用)
2.数据一致性如何保证:
                                 1.共享网络文件系统(NFS) 文件名->block数据块的映射关系
                                 2.datanode 向两个NN(ACTIVE,STANDBY) 同时发送心跳, block数据块到datanode节点地址映射
3.故障转移:利用zookeeper来保证
4.JN(目的是为了保证数据一致性):利用的是QJM 即在主节点挂掉后 进行选举的机制 (机器数量是2n+1) 好处是节约资源
                                                         QJM(最低房顶人数管理机制)只有投票没有存储 优点:不需要额外配置共享存储 节约成本  没有单点问题 灵活的系统配置
5.集群配置
  (1):NN和JN通常配置不在同一机器上,JN和DN在一起
(2):FC和NN在同一台机器上
(3):RM和NN在同一台机器
(4):NM和DN在同一台机器上,就近原则
(5):zookeeper独立维护一套集群
6.namenode federation(联邦):好处是减轻单一NN压力 将一部分文件转移到其他NN来管理
                                                 有利于集群的横向扩展,突破了单台NN的压力
                                                 性能提升 资源隔离
                                     联邦的本质:元数据的管理和存储得到了解耦,但是真实数据还是共享的
7.快照
   数据备份、灾备,快速恢复
  快照的创建时瞬间的,效率高
  快照的本质只记录block列表和大小,并不涉及数据的复制
8.缓存:访问速度快
namenode 管理DataNode上的缓存是以block的形式
哪些数据需要缓存? 热点数据
2个缓存:
(1)client侧:自动缓存常用数据
(2)DataNode侧:手动缓存,强制把路径提前缓存住
9.
yarn :
 
ResourceManager
ResourceManager作为资源的协调者有两个主要的组件:Scheduler和ApplicationsManager(AsM)。
Scheduler负责分配最少但满足application运行所需的资源量给Application。Scheduler只是基于资源的使用情况进行调度,并不负责监视/跟踪application的状态,当然也不会处理失败的task。RM使用resource container概念来管理集群的资源,resource container是资源的抽象,每个container包括一定的内存、IO、网络等资源,不过目前的实现只包括内存一种资源。
ApplicationsManager负责处理client提交的job以及协商第一个container以供applicationMaster运行,并且在applicationMaster失败的时候会重新启动applicationMaster。下面阐述RM具体完成的一些功能。
 
1、  资源调度
Scheduler从所有运行着的application收到资源请求后构建一个全局的资源分配计划,然后根据application特殊的限制以及全局的一些限制条件分配资源。
 
2、  资源监视
Scheduler会周期性的接收来自NM的资源使用率的监控信息,另外applicationMaster可以从Scheduler得到属于它的已完成的container的状态信息。
 
3、  application提交
l  client向AsM获得一个applicationID
l  client将application定义以及需要的jar包文件等上传到hdfs的指定目录,由yarn-site.xml的yarn.app.mapreduce.am.staging-dir指定
l  client构造资源请求的对象以及application的提交上下文发送给AsM
l  AsM接收application的提交上下文
l  AsM根据application的信息向Scheduler协商一个Container供applicationMaster运行,然后启动applicationMaster
l  向该container所属的NM发送launchContainer信息启动该container,也即启动applicationMaster
l  AsM向client提供运行着的AM的状态信息。
 
4、  AM的生命周期
AsM负责系统中所有AM的生命周期的管理。AsM负责AM的启动,当AM启动后,AM会周期性的向AsM发送heartbeat,默认是1s,AsM据此了解AM的存活情况,并且在AM失败时负责重启AM,若是一定时间过后(默认10分钟)没有收到AM的heartbeat,AsM就认为该AM失败了。
 
关于ResourceManager的可用性目前还没有很好的实现,不过Cloudera公司的CDH4.4以后的版本实现了一个简单的高可用性,使用了Hadoop-common项目中

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐