首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
【深入浅出 Yarn 架构与实现】2-1 Yarn 基础库概述
】的更多相关文章
【深入浅出 Yarn 架构与实现】2-2 Yarn 基础库 - 底层通信库 RPC
RPC(Remote Procedure Call) 是 Hadoop 服务通信的关键库,支撑上层分布式环境下复杂的进程间(Inter-Process Communication, IPC)通信逻辑,是分布式系统的基础.允许运行于一台计算机上的程序像调用本地方法一样,调用另一台计算机的子程序.由于 RPC 服务整体知识较多,本节仅针对对 Yarn RPC 进行简略介绍,详细内容会后续开专栏介绍. 一.RPC 通信模型介绍 为什么会有 RPC 框架?在分布式或微服务情境下,会有大量的服务间交互,如…
【深入浅出 Yarn 架构与实现】3-1 Yarn Application 流程与编写方法
本篇学习 Yarn Application 编写方法,将带你更清楚的了解一个任务是如何提交到 Yarn ,在运行中的交互和任务停止的过程.通过了解整个任务的运行流程,帮你更好的理解 Yarn 运作方式,出现问题时能更好的定位. 一.简介 本篇将对 Yarn Application 编写流程进行介绍.将一个新的应用程序运行到 Yarn 上,主要编写两个组件 Client 和 ApplicationMaster,组件的具体实现案例将在后两篇文章中介绍. (实际使用中,我们并不需要实现一个 Yarn…
【深入浅出 Yarn 架构与实现】2-1 Yarn 基础库概述
了解 Yarn 基础库是后面阅读 Yarn 源码的基础,本节对 Yarn 基础库做总体的介绍.并对其中使用的第三方库 Protocol Buffers 和 Avro 是什么.怎么用做简要的介绍. 一.主要使用的库 Protocol Buffers:是 Google 开源的序列化库,具有平台无关.高性能.兼容性好等优点.YARN 将其用到了 RPC 通信中,默认情况 下,YARN RPC 中所有参数采用 Protocol Buffers 进行序列化 / 反序列化. Apache Avro:是 Ha…
【深入浅出 Yarn 架构与实现】2-3 Yarn 基础库 - 服务库与事件库
一个庞大的分布式系统,各个组件间是如何协调工作的?组件是如何解耦的?线程运行如何更高效,减少阻塞带来的低效问题?本节将对 Yarn 的服务库和事件库进行介绍,看看 Yarn 是如何解决这些问题的. 一.服务库 一)简介 对于生命周期较长的对象,Yarn 采用基于服务的模型对其进行管理,有以下几个特点: 基于状态管理:分为 4 个状态:NOTINITED(被创建).INITED(已初始化). STARTED(已启动).STOPPED(已停止). 服务状态的变化会触发其他的操作. 可通过组合的方式对…
【深入浅出 Yarn 架构与实现】2-4 Yarn 基础库 - 状态机库
当一个服务拥有太多处理逻辑时,会导致代码结构异常的混乱,很难分辨一段逻辑是在哪个阶段发挥作用的. 这时就可以引入状态机模型,帮助代码结构变得清晰. 一.状态机库概述 一)简介 状态机由一组状态组成: [初始状态 -> 中间状态 -> 最终状态]. 在一个状态机中,每个状态会接收一组特定的事件,根据事件类型进行处理,并转换到下一个状态.当转换到最终状态时则退出. 二)状态转换方式 状态间转换会有下面这三种类型: 三)Yarn 状态机类 在 Yarn 中提供了一个工厂类 StateMachineF…
YARN底层基础库
YARN基础库是其他一切模块的基础,它的设计直接决定了YARN的稳定性和扩展性,YARN借用了MRV1的一些底层基础库,比如RPC库等,但因为引入了很多新的软件设计方式,所以它的基础库更多,包括直接使用了开源序列化框架Protocol Buffers和Apache Avro,自定义的服务库.事件库和状态机等 目录 一. 概述 二. Protocol Buffers 三. Apache Avro四. 底层通信库五. 服务库与事件库 六. 状态机库 一. 概述 Yarn基础库是其他一切模…
【深入浅出 Yarn 架构与实现】1-1 设计理念与基本架构
一.Yarn 产生的背景 Hadoop2 之前是由 HDFS 和 MR 组成的,HDFS 负责存储,MR 负责计算. 一)MRv1 的问题 耦合度高:MR 中的 jobTracker 同时负责资源管理和作业控制两个功能,互相制约. 可靠性差:管理节点是单机的,有单点故障的问题. 资源利用率低:基于 slot 的资源分配模型.机器会将资源划分成若干相同大小的 slot,并划定哪些是 map slot.哪些是 reduce slot. 无法支持多种计算框架:限定了只能用于 MapReduce 程序.…
【深入浅出 Yarn 架构与实现】1-2 搭建 Hadoop 源码阅读环境
本文将介绍如何使用 idea 搭建 Hadoop 源码阅读环境.(默认已安装好 Java.Maven 环境) 一.搭建源码阅读环境 一)idea 导入 hadoop 工程 从 github 上拉取代码.https://github.com/apache/hadoop可以选择对应的分支 # 如拉取 2.8.5 分支 git clone -b branch-2.8.5 git@github.com:apache/hadoop.git 在 idea 中点击 File - Open 选择对应的文件夹目录…
Spark on Yarn 架构解析
. 一.Hadoop Yarn组件介绍: 我们都知道yarn重构根本的思想,是将原有的JobTracker的两个主要功能资源管理器 和 任务调度监控 分离成单独的组件.新的架构使用全局管理所有应用程序的计算资源分配. 主要包含三个组件ResourceManager .NodeManager和ApplicationMaster以及一个核心概念Container. 1.ResourceManager(RM) 就是所谓的资源管理器,每个集群一个,实现全局的资源管理和任务调度.它可以处理客户端提交计算…
Yarn集群的搭建、Yarn的架构和WordCount程序在集群提交方式
一.Yarn集群概述及搭建 1.Mapreduce程序运行在多台机器的集群上,而且在运行是要使用很多maptask和reducertask,这个过程中需要一个自动化任务调度平台来调度任务,分配资源,这个平台就是Yarn! 2.Yarn提交任务的流程: 当我们向Yarn集群提交任务后,Yarn通过Resourcemanager给任务分配资源,然后由NodeManager开辟运算空间来执行任务,在这个运算空间中开辟maptask和reducetask来运行任务. 3.Yarn集群的搭建 修改配置文件…