YARN原理和基本框架 张伟.

Slides:



Advertisements
Similar presentations
7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
Advertisements

第120讲:Hadoop的MapReduce和Yarn的配置实战详解
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
OpenStack开源虚拟化平台(三) 云计算 (第三版) 第 8 章 CLOUD COMPUTING Third Edition
E-Mapreduce培训系列 基本介绍.
为教师开展大数据课程教学提供全方位、一站式服务
發展東華特色課程 期末成果發表 呂進瑞 國立東華大學財金系.
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
CHT Project Progress Report
Cloud Computing for Big Data – Monitoring & Resource Management
YARN & MapReduce 2.0 Boyu Diao
基于R和pentaho的全套开源BI平台的实现
雲端計算 參考書籍:Python+Spark 2.0+Hadoop 機器學習與大數據分析實戰
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
SmartCMP 混合云管理方案 毛得辉 CloudChef 联合创始人&售前总监.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
K/3 Cloud云之家集成 K/3 Cloud 基础系统部.
第九讲 Hadoop架构再探讨 (2016春季学期)
CHAPTER 6 認識MapReduce.
Spark在智慧图书馆建设中的应用探索 2017年12月22日.
Ambari 简介 师成 伟成培训 © 2017.
第二讲 搭建Java Web开发环境 主讲人:孙娜
12/16/2014 Spark Fire Where there is spark, there is fire 12/16/2014.
Hadoop平台與應用規劃實作 報告者:劉育維.
从现在做起 彻底改变你自己 Sanjay Mirchandani EMC公司高级副总裁、首席信息官.
SOA – Experiment 3: Web Services Composition Challenge
大学计算机基础 典型案例之一 构建FPT服务器.
J&K STACK CMDB 产品介绍 Multi-Cloud Management Capabilities Service Provider.
从TDW-Hive到TDW-SparkSQL
SVN服务器的搭建(Windows) 柳峰
Jul 2014 HEAT部署Hadoop集群
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
Visual Studio Team System 简介
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
Online job scheduling in Distributed Machine Learning Clusters
软件工程基础 云计算概论 刘 驰.
PaPaPa项目架构 By:Listen 我在这.
YeahMobi中基于容器技术的运维自动化实践
作业调度系统常用命令.
任务1-3 使用Dreamweaver创建ASP网页
三:基于Eclipse的集成开发环境搭建与使用
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
何勉 新浪微博: Scrum框架及其背后的原则 原始图片 何勉 新浪微博:
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
第四章 团队音乐会序幕: 团队协作平台的快速创建
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
Cassandra应用及高性能客户端 董亚军 来自Newegg-NESC.
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
解决“最后1公里”问题.
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
郑 昀 应用开发事业部 神州泰岳 SIP多方会话消息 之实例讲解 郑 昀 应用开发事业部 神州泰岳
OpenStack vs CloudStack
Python 环境搭建 基于Anaconda和VSCode.
Google的云计算 分布式锁服务Chubby.
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
Zookeeper的应用 Hbase Kafka Twitter Storm Spark—mesos+zookeeper.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
入侵检测技术 大连理工大学软件学院 毕玲.
《NIOS II那些事儿》视频教程(三) -- NIOS II开发初探
第六章 直接成本法.
Presentation transcript:

YARN原理和基本框架 张伟

个人简介 2012年毕业于西安交通大学电信 学院,现任天云软件云平台开发工 程师,熟悉YARN,CloudStack, OpenStack等开源云平台软件。现在 主要工作集中在SkyForm云平台的统 一资源管理系统开发。

Docker、OpenStack on YARN 目录 YARN简单介绍 YARN基础架构 YARN工作流程 YARN调度器介绍 Docker、OpenStack on YARN 总结

YARN简单介绍 YARN(Yet Another Resource Negotiator): Hadoop 新的统一资源管理框架。 主要功能:  资源收集  资源分配  资源监控  资源调整 目的: 提供一种多用户共享集群资源的方法,提高资源利用率,降低集群管理成本

YARN 基础架构 单个节点的资源管理和使用 发送任务请求&查询任务状态 应用程序的管理 申请资源&分配资源; 监控任务执行状态等 集群的资源管理和调度 处理客户端请求; 启动/监控AM&NM; 资源分配与调度等 任务运行环境的抽象

YARN基础架构

Resource Manager

Node Manager

Node Manager事件

YARN工作流程

ResourceTrackerService 资源申请流程 ResourceTrackerService ResourceScheduler Resource Manager 4. Resource_Update 5. Scheduling and allocate resource 2. NodeHeartbeat Assigned containers 3. response 7. Containers as response 1. resource request 6. AppMaster Heartbeat 8. Run tasks in containers Task NodeManager Application Master Task Task

YARN 调度器 调度器维护一群队列的信息。用户可以向一个或者多个队列提交应用。每次NM心跳的时候,调度器根据一定的规则选择一个队列,再在队列上选择一个应用,尝试在这个应用上分配资源。调度器在分配过程中优先匹配本地资源来申请资源,其次是同机架的,最后的任意机器的。 双层调度器 上层是一个非常轻量的调度系统,负责资源分配,但不侵入应用的调度策略 下层是具体某个应用程序的调度器,如hadoop, storm, spark, mpi等 支持资源预留 如果资源不足,调度器会保留资源请求,待资源足够的时候优先分配资源。

YARN 调度算法 FifoScheduler:最简单的调度器,按照先进先出的方式处理应用。只有一个队列可提交应用,所有用户提交到这个队列。可以针对这个队列设置ACL。没有应用优先级可以配置。 CapacityScheduler:可以看作是FifoScheduler的多队列版本。每个队列可以限制资源使用量。 FairScheduler:多队列,多用户共享资源。资源抢占特性,是指调度器能够依据公平资源共享算法,计算每个队列应得的资源,将超额资源的队列的部分容器释放掉的特性。

调度算法对比 Capacity Scheduler Fair Scheduler 目标   Capacity Scheduler Fair Scheduler 目标 提供一种多用户共享集群资源的方法,以提高资源利用率和降低集群管理成本。 设计思想 队列需提前规划好,资源按设置的比例分配个各个队列。并添加严格的限制防止单个用户或队列独占所有资源。 队列可以在运行时动态添加,基于最大最小公平原则把资源平均分配给各个用户或队列。 是否支持动态加载配置文件 是 是否支持负载均衡 否 是否支持资源抢占 是否支持批量调度 Container请求资源粒度 最小资源量的整数倍 有专门的内存规整化参数 本地性任务调度优化 基于跳过次数的延迟机制 队列间资源分配方式 资源使用率低者优先 FIFO、Fair或DRF 队列内资源分配方式 FIFO或DRF

Docker on YARN NodeManager提供三种ContainerExecutor实现:  DefaultContainerExecutor:以管理员身份运行Container启动脚本。  LinuxContainerExecutor:以Container所属用户身份运行Container启动脚本。使用cgroups进行资源隔离。  DockerContainerExecutor:在Docker中运行Container。

OpenStack & Yarn SkyForm Scheduler CMDB provisioning Monitor Cluster Other Cluster Hadoop Cluster OpenStack Cluster

OpenStack & YARN SkyForm NodeMgr SkyForm Scheduler Analysis Server NMmgr Analysis Server Collect Server App mgr KVM VM libvirt VM SkyForm Plugin OpenStack Scheduler XEN VM xenapi VM VMWARE VM api VM

OpenStack & YARN

其它运行在Yarn上的框架  HBase on YARN https://github.com/hortonworks/hoya/  Impala On YARN http://cloudera.github.io/llama/  Spark On YARN https://github.com/apache/incubator-spark/tree/branch-0.8/yarn  Kubernetes On YARN https://github.com/hortonworks/kubernetes-yarn#kubernetes-yarn

总结 设计目标:资源统一管理与调度平台 基本组件:  Client  ResourceManager  NodeManager  ApplicationMaster 调度器:  基于队列  FIFO、Capacity、Fair 修改NodeManager执行器支持Docker 支持的框架:  Hbase  Spark  Storm … 可方便的扩展

谢谢