
【深入淺出 Yarn 架構與實現】3-3 Yarn Application Master 編寫
- 2022 年 11 月 18 日
- 筆記
本篇文章继续介绍 Yarn Application 中 ApplicationMaster 部分的编写方法。 一、Application Master 编写方法 上一节讲了 Client 提交任务给 RM 的全流程,RM 收到任务后,由 ApplicationsManager 向 NM 申请 Con …
Continue Reading
本篇文章继续介绍 Yarn Application 中 ApplicationMaster 部分的编写方法。 一、Application Master 编写方法 上一节讲了 Client 提交任务给 RM 的全流程,RM 收到任务后,由 ApplicationsManager 向 NM 申请 Con …
Continue Reading
上篇文章介绍了编写 Yarn Application 的整体框架流程,本篇文章将详细介绍其中 Client 部分的编写方式。 一、Yarn Client 编写方法 本篇代码已上传 Github: Github - MyYarnClient 一)编写流程 1、创建并启动 Client YarnClie …
Continue Reading
本篇学习 Yarn Application 编写方法,将带你更清楚的了解一个任务是如何提交到 Yarn ,在运行中的交互和任务停止的过程。通过了解整个任务的运行流程,帮你更好的理解 Yarn 运作方式,出现问题时能更好的定位。 一、简介 本篇将对 Yarn Application 编写流程进行介绍。 …
Continue Reading
当一个服务拥有太多处理逻辑时,会导致代码结构异常的混乱,很难分辨一段逻辑是在哪个阶段发挥作用的。 这时就可以引入状态机模型,帮助代码结构变得清晰。 一、状态机库概述 一)简介 状态机由一组状态组成: 【初始状态 -> 中间状态 -> 最终状态】。 在一个状态机中,每个状态会接收一组特定的事件,根据事 …
Continue Reading
一个庞大的分布式系统,各个组件间是如何协调工作的?组件是如何解耦的?线程运行如何更高效,减少阻塞带来的低效问题?本节将对 Yarn 的服务库和事件库进行介绍,看看 Yarn 是如何解决这些问题的。 一、服务库 一)简介 对于生命周期较长的对象,Yarn 采用基于服务的模型对其进行管理,有以下几个特点 …
Continue Reading
RPC(Remote Procedure Call) 是 Hadoop 服务通信的关键库,支撑上层分布式环境下复杂的进程间(Inter-Process Communication, IPC)通信逻辑,是分布式系统的基础。允许运行于一台计算机上的程序像调用本地方法一样,调用另一台计算机的子程序。 由于 …
Continue Reading
了解 Yarn 基础库是后面阅读 Yarn 源码的基础,本节对 Yarn 基础库做总体的介绍。 并对其中使用的第三方库 Protocol Buffers 和 Avro 是什么、怎么用做简要的介绍。 一、主要使用的库 Protocol Buffers :是 Google 开源的序列化库,具有平台无关、 …
Continue Reading
本文将介绍如何使用 idea 搭建 Hadoop 源码阅读环境。(默认已安装好 Java、Maven 环境) 一、搭建源码阅读环境 一)idea 导入 hadoop 工程 从 github 上拉取代码。 //github.com/apache/hadoop 可以选择对应的分支 # 如拉取 2.8.5 …
Continue Reading
一、Yarn 产生的背景 Hadoop2 之前是由 HDFS 和 MR 组成的,HDFS 负责存储,MR 负责计算。 一)MRv1 的问题 耦合度高:MR 中的 jobTracker 同时负责资源管理和作业控制两个功能,互相制约。 可靠性差:管理节点是单机的,有单点故障的问题。 资源利用率低:基于 …
Continue Reading
一、前言 近几年大数据是异常的火爆,今天小编以java开发的身份来会会大数据,提高一下自己的层面! 大数据技术也是有很多: Hadoop Spark Flink 小编也只知道这些了,由于 Hadoop ,存在一定的缺陷(循环迭代式数据流处理:多 并行运行的数据可复用场景 效率不行 )。所以 Spar …
Continue Reading