栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hadoop yarn源码分析 2021SC@SDUSC

Hadoop yarn源码分析 2021SC@SDUSC

Hadoop yarn源码分析 2021SC@SDUSC
  • 选题和分工
  • Hadoop安装和使用
  • Yarn简介
    • 核心思想
    • 三大组件
      • ResourceManager(RM)
      • ApplicationMaster(AM)
      • NodeManager(NM)
  • 主要优点

选题和分工

我们组选择的题目是开源项目Hadoop的源码分析。Hadoop是由Apache基金会所开发的分布式系统基础架构,是一种分布式数据和计算的框架。Hadoop主要由Hdfs,MapReduce,Yarn三大部分组成。我的主要任务是Yarn部分的源码分析。

Hadoop安装和使用

我在虚拟机上安装了Linux系统,并将最新版的Hadoop3.3.1安装到了Linux系统上。

Hadoop的安装和配置是一个较为复杂的过程,在这里我参照的是厦门大学林子雨老师的Hadoop安装教程(http://dblab.xmu.edu.cn/blog/install-hadoop/),该教程十分详细。
安装步骤如下:
1.创建Hadoop用户
2.更新apt
3.安装ssh,设置ssh免密登录
4.安装Java环境(JDK1.8)
5.安装Hadoop3.3.1
6.Hadoop伪分布式配置
7.运行Hadoop伪分布式实例
8.启动yarn

Yarn简介

Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop资源管理器,是从MapReduce中分离出来的,负责资源管理与任务调度。Yarn 运行于 MapReduce 之上,提供了高可用性、高扩展性。

核心思想

Yarn的核心思想是将JobTracker的两个主要功能(资源管理和作业调度/监控)分离,主要方法是创建一个全局的ResourceManager(RM)和若干个针对应用程序的ApplicationMaster(AM)。这里的应用程序是指传统的MapReduce作业或作业的DAG(有向无环图)。

三大组件

ResourceManager(RM)

ResourceManager 负责整个集群的资源管理和分配,是一个全局的资源管理系统。主要由两个组件构成:调度器(Scheduler)和应用程序管理器(Applications Manager,ASM)。

ApplicationMaster(AM)

ApplicationMaster 负责每一个具体应用程序的调度和协调,用 户 提 交 的 每 个 应 用 程 序 均 包 含 一 个 ApplicationMaster , 它 可 以 运 行 在ResourceManager 以外的机器上。

NodeManager(NM)

NodeManager 是每个节点上的资源和任务管理器,它是管理这台机器的代理,负责该节点程序的运行,以及该节点资源的管理和监控。Yarn 集群每个节点都运行一个NodeManager。

主要优点

大大减小了 JobTracker(也就是现在的 ResourceManager)的资源消耗,并且让监测每一个 Job 子任务 (tasks) 状态的程序分布式化了,更安全、更优美。
在新的 Yarn 中,ApplicationMaster 是一个可变更的部分,用户可以对不同的编程模型写自己的 AppMst,让更多类型的编程模型能够跑在 Hadoop 集群中,可以参考 hadoop Yarn 官方配置模板中的 mapred-site.xml 配置。
对于资源的表示以内存为单位 ( 在目前版本的 Yarn 中,没有考虑 cpu 的占用 ),比之前以剩余 slot 数目更合理。
老的框架中,JobTracker 一个很大的负担就是监控 job 下的 tasks 的运行状况,现在,这个部分就扔给 ApplicationMaster 做了,而 ResourceManager 中有一个模块叫做 ApplicationsMasters( 注意不是 ApplicationMaster),它是监测 ApplicationMaster 的运行状况,如果出问题,会将其在其他机器上重启。
Container 是 Yarn 为了将来作资源隔离而提出的一个框架。这一点应该借鉴了 Mesos 的工作,目前是一个框架,仅仅提供 java 虚拟机内存的隔离,hadoop 团队的设计思路应该后续能支持更多的资源调度和控制 , 既然资源表示成内存量,那就没有了之前的 map slot/reduce slot 分开造成集群资源闲置的尴尬情况。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/280802.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号