Hadoop技术内幕-架构篇-阅读笔记

主要用来理解yarn如何运行

1.4 源代码目录结构

  • bin 基本脚本
  • etc 配置信息
  • include 编程库头文件
  • lib 动态和静态库
  • libexec shell配置文件所在目录
  • sbin 各个服务启动和停止脚本
  • share hadoo各个模块编译后的jar所在目录
Hadoop技术内幕-架构篇-阅读笔记_第1张图片
yarn源代码目录

2.1 yarn-产生背景

2.1.1 MRv1缺点

  • 可靠性差 单点故障
  • 扩展性差 jobtracker同时负责资源管理和作业控制
  • 资源利用低 计算粒度粗 Map Slot 和Reduce Slot槽位 无共享
  • 无法支持多种计算框架

2.1.2 Yarn优点

  • 资源利用率高 共享资源
  • 运行成本低 一个框架一个集群
  • 数据共享 移动计算


    Hadoop技术内幕-架构篇-阅读笔记_第2张图片
    yarn集群共享

2.2 基础知识

2.2.1 术语解释

Hadoop 1.0

第一代hadoop hdfs+MapReduce, HDFS由NameNode+Datanode组成 MapReduce由一个jobTracker+多个TaskTracker

Hadoop 2.0

HDFS增加 HDFS Federation 实现不同目录的资源隔离 多个namenode分管不同的目录 执行访问隔离
JobTracker执行了拆分, 现在分为ResourceManeage和ApplicationMaster实现, RM负责资源分配,AM仅负责一个应用程序, 进而实现Yarn。


Hadoop技术内幕-架构篇-阅读笔记_第3张图片
v1与v2对比
MRv1 计算框架
  • 编程模型
    问题抽象为map reduce 1. map成key/value 2.recude对相同k进行处理, 最终写在HDFS上面

  • 数据处理引擎
    MapTask ReduceTask 组成,

  • 运行时环境
    一个JobTracker 和 多个TaskTracker服务组成
    JboTracker 负责资源管理和作业控制 TaskTracker负责执行命令

MRv2

不同点 运行时环境
由yarn和ApplicationMaster组成 Yarn负责调度, AM负责作业管理

YARN

资源管理系统,可为Tez Spark Storm HBase提供资源管理服务

HDFS Federation

可以实现多个NameNode

hadoop append

实现追加文件操作

hadoop raid

在hdfs上构建新的分布式系统 增强保护

hadoop Symlink

符号链接

security

增加Kerberos 和 DeletionToken

HA

sNamemanage

2.3 YARN基本思想

2.3.1 框架比较

Hadoop技术内幕-架构篇-阅读笔记_第4张图片
框架比较-MRv1
Hadoop技术内幕-架构篇-阅读笔记_第5张图片
下一代mapreduce

将JobTracker拆分成两部分

  • 全局资源管理器 ResourceManager 负责全局资源调度
  • 应用程序管理器 ApplicationMaster 负责单个应用的管理


    Hadoop技术内幕-架构篇-阅读笔记_第6张图片
    yarn的基础架构

2.4 Yarn基本框架

ResourcesManager

RM全局资源管理器 主要有两个组件

  • 调度器
    分配单元 Container 动态资源分配
  • 应用程序管理器
    所有应用提交, 与协调器协商资源,监控applicationMaster运行状态

ApplicationMaster

与RM协商获取资源 container方式
与nodemanager通信 启动 停止任务
监控所有任务运行状况

NodeManager

  • 实时的汇报本节点上的资源使用情况 和各个Container的运行情况给RM
  • 接受并处理来自AM的Container的启动停止命令

Container

Yarn的资源抽象, 封装了某个节点的内存 cpu等, AM向RM申请资源,RM为AM返回Container,动态分配,根据需求动态生成,cgroup实现轻量级的隔离

2.4.2 Yarn通信协议

RPC通信协议
中文释义:(RFC-1831)远过程调用协议
   注解:一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加轻易。
   RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息的到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用过程接收答复信息,获得进程结果,然后调用执行继续进行。
RPC信息协议由两个不同结构组成:调用信息和答复信息。

Hadoop技术内幕-架构篇-阅读笔记_第7张图片
RPC通信

2.5 yarn工作流程

Hadoop技术内幕-架构篇-阅读笔记_第8张图片
工作流程
Hadoop技术内幕-架构篇-阅读笔记_第9张图片
image.png

你可能感兴趣的:(Hadoop技术内幕-架构篇-阅读笔记)