YARN-MR 大数据第二天
大数据第二天 1.YARN(管理和调度集群中的各类资源)
1.1 产生的背景:
1.直接源于MR版本1的缺陷(如:单点故障、难以支持MR之外的计算框架等)
2.多计算框架各自为站,数据共享困难(如:MR离线计算框架 Storm实时计算框架 Spark内存计算框架)
1.2 架构(采用master-slave结构)
ResourceManager(管理和调配YARN集群的资源)
特性:整个集群只有一个
作用:
处理客户端请求
启动和监控ApplicationMaster
监控NodeManager
资源分配和调度
容错性:存在单点故障(正在实现HA 即主备架构 主一旦挂掉,备切换)
NodeManager(执行计算作业)
特性:可以多个
作用:
单个节点上的资源管理和任务管理
处理来自ResourceManager的命令
处理来自ApplicationMaster的命令
容错性:失败后,RM将失败任务告诉对应AM,由AM决定如何处理失败的任务
ApplicationMaster(负责应用程序的管理)
特性:每个应用有一个
作用:
数据切分
任务监控和容错
容错性:失败后由RM负责重启;AM需处理内部任务的容错问题;会自动保存已经运行完成的任务,重启后无需重新运行
Container(对任务运行环境的抽象)
系列信息:
任务启动命令
任务运行环境
任务运行资源
1.3 原理
1.客户端client发送任务请求给ResourceManager
2.ResourceManager收到请求后根据资源占用情况分配对应NodeManager
3.NodeManager收到ResourceManager的命令后开辟一个ApplicationMaster
4.ApplicationMaster对任务分析和数据切分后,将要占用的资源情况发送给ResourceManager
5.ResourceManager根据实时的资源占用情况进行动态分配资源
6.ApplicationMasterna拿到资源后再跟对应的NodeManager进行通信
7.NodeManager得到计算任务后,分配对应的Container容器来执行对应的Task任务
1.4 调度策略
a.双层调度策略
RM将资源分配给AM
AM将资源进一步分配给各个任务
b.基于资源预留的调度策略
当资源不够时,会为任务预留,直到资源充足
1.5 YARN与计算框架的关系
如果YARN是安卓系统的話,那么计算框架就是系统中的一个APP
其中计算框架有:
基于离线计算框架————MR
基于内存计算框架————Spark
基于流式计算框架————Storm 2.MapReduce(基于离线计算框架)
2.1 MapReduce特点:
易于编程
良好的扩展性
高容错性
适合海量数据的离线处理
2.2 基本过程
Map阶段-Shuffle-Reduce阶段
Map阶段:
输入数据格式解析————InputFormat
输入数据处理————Mapper
数据分组————Partitioner
Reduce阶段:
数据处理————Redecer
数据输出格式————OutputFormat
2.3 基本思想
大文件分为若干个小文件,计算各个小文件得到结果,然后再汇总输出
2.4 架构
采用YARN架构
2.5 应用场景
简单的数据统计 比如:网站的PV UV
搜索引擎建索引
海量数据查找
复杂的数据分析算法实现 比如:聚类、分类、推荐、图算法
2.6 Java编程
1.导jar包(旧包兼容2.0,新包不一定支持)
2.编写mapper
3.编写reduce
4.打包
5.发布
YARN-MR 大数据第二天的更多相关文章
- FusionInsight大数据开发---MapReduce与YARN应用开发
MapReduce MapReduce的基本定义及过程 搭建开发环境 代码实例及运行程序 MapReduce开发接口介绍 1. MapReduce的基本定义及过程 MapReduce是面向大数据并行处 ...
- 坐实大数据资源调度框架之王,Yarn为何这么牛
摘要:Yarn的出现伴随着Hadoop的发展,使Hadoop从一个单一的大数据计算引擎,成为大数据的代名词. 本文分享自华为云社区<Yarn为何能坐实资源调度框架之王?>,作者: Java ...
- 开源大数据技术专场(上午):Spark、HBase、JStorm应用与实践
16日上午9点,2016云栖大会“开源大数据技术专场” (全天)在阿里云技术专家封神的主持下开启.通过封神了解到,在上午的专场中,阿里云高级技术专家无谓.阿里云技术专家封神.阿里巴巴中间件技术部高级技 ...
- java大数据最全课程学习笔记(1)--Hadoop简介和安装及伪分布式
Hadoop简介和安装及伪分布式 大数据概念 大数据概论 大数据(Big Data): 指无法在一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合,是需要新处理模式才能具有更强的决策力,洞察发 ...
- oschina大数据开源软件
Hadoop 图形化用户界面 Hue 大数据可视化工具 Nanocubes 企业大数据平台 RedHadoop 大数据查询引擎 PrestoDB Hadoop集群监控工具 HTools 安全大数据分析 ...
- 【互动问答分享】第18期决胜云计算大数据时代Spark亚太研究院公益大讲堂
Q1:Master和Driver的是同一个东西吗? 两者不是同一个东西,在Standalone模式下Master是用于集群资源管理和调度的,而Driver适用于指挥Worker上的Executor通过 ...
- 大数据入门第八天——MapReduce详解(三)MR的shuffer、combiner与Yarn集群分析
/mr的combiner /mr的排序 /mr的shuffle /mr与yarn /mr运行模式 /mr实现join /mr全局图 /mr的压缩 今日提纲 一.流量汇总排序的实现 1.需求 对日志数据 ...
- C#码农的大数据之路 - 使用C#编写MR作业
系列目录 写在前面 从Hadoop出现至今,大数据几乎就是Java平台专属一般.虽然Hadoop或Spark也提供了接口可以与其他语言一起使用,但作为基于JVM运行的框架,Java系语言有着天生优势. ...
- CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令
相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...
随机推荐
- 【原创】自己动手写工具----签到器[Beta 1.0]
一.写在前面 最近公司没有什么项目,想通过项目练练手的机会也没有,只能自己学习了,因此空下来的时间也挺多的,就打开网页看看吧,哎,一打开就让签到(像什么百度知道啊.百度云盘啊之类的),我签到的目的是获 ...
- js字符串方法
字符串方法根据下标返回字符:str.charAt()//传入一个下标返回字符str.charCodeAt();// 传入一个下标获取编码String.formCharCode();//接受编码,编码转 ...
- Java Web编程技术学习要点及方向
学习编程技术要点及方向亮点: 传统学习编程技术落后,应跟著潮流,要对业务聚焦处理.要Jar, 不要War:以小为主,以简为宝,集堆而成.去繁取简 Spring Boot,明日之春(future of ...
- 修改Excel2013默认模版(启动模版和新建Sheet模版)
1. C:\Windows\ShellNew\EXCEL12.XLSX 设置好格式后另存为, 然后复制过来覆盖掉,如果覆盖不了,注意修改所有者权限 2. 新建文件保存为模版文件Sheet.xltx, ...
- 如何刷新或清除HttpURLConnection的连接缓存
项目需要定期与远程服务器同步数据,基于如下代码: URL url = new URL("http://test.com/sales/info"); connection = (Ht ...
- storyboard传值方式
通过segue传值 在storyboard设置segue的Identifier segue是连接两个视图控制器交互的线 sender是触发这个方法执行的对象,比如是单击tableView上的cel ...
- 深入理解javascript原型和闭包(9)——简述【执行上下文】下
继续上一篇文章(http://www.cnblogs.com/wangfupeng1988/p/3986420.html)的内容. 上一篇我们讲到在全局环境下的代码段中,执行上下文环境中有如何数据: ...
- git版本控制管理实践-3
git -m 和git -a -m(-am) . 的区别? usally two steps to commit files to respository: first, git add somefi ...
- Android Studio的配置问题——Intel HAXM is required to run this AVD,VT-x is disabled in BIOS;
Intel HAXM is required to run this AVD,VT-x is disabled in BIOS;Enable VT-x in your BIOS security se ...
- css 基础---选择器
1.css基础 selector {property: value} eg: h1 {color:red; font-size:14px;} p { text-align: center; color ...