1. 大数据第二天
  2.  
  3. 1.YARN(管理和调度集群中的各类资源)
  4. 1.1 产生的背景:
  5. 1.直接源于MR版本1的缺陷(如:单点故障、难以支持MR之外的计算框架等)
  6. 2.多计算框架各自为站,数据共享困难(如:MR离线计算框架 Storm实时计算框架 Spark内存计算框架)
  7. 1.2 架构(采用master-slave结构)
  8. ResourceManager(管理和调配YARN集群的资源)
  9. 特性:整个集群只有一个
  10. 作用:
  11. 处理客户端请求
  12. 启动和监控ApplicationMaster
  13. 监控NodeManager
  14. 资源分配和调度
  15. 容错性:存在单点故障(正在实现HA 即主备架构 主一旦挂掉,备切换)
  16. NodeManager(执行计算作业)
  17. 特性:可以多个
  18. 作用:
  19. 单个节点上的资源管理和任务管理
  20. 处理来自ResourceManager的命令
  21. 处理来自ApplicationMaster的命令
  22. 容错性:失败后,RM将失败任务告诉对应AM,由AM决定如何处理失败的任务
  23. ApplicationMaster(负责应用程序的管理)
  24. 特性:每个应用有一个
  25. 作用:
  26. 数据切分
  27. 任务监控和容错
  28. 容错性:失败后由RM负责重启;AM需处理内部任务的容错问题;会自动保存已经运行完成的任务,重启后无需重新运行
  29. Container(对任务运行环境的抽象)
  30. 系列信息:
  31. 任务启动命令
  32. 任务运行环境
  33. 任务运行资源
  34. 1.3 原理
  35. 1.客户端client发送任务请求给ResourceManager
  36. 2.ResourceManager收到请求后根据资源占用情况分配对应NodeManager
  37. 3.NodeManager收到ResourceManager的命令后开辟一个ApplicationMaster
  38. 4.ApplicationMaster对任务分析和数据切分后,将要占用的资源情况发送给ResourceManager
  39. 5.ResourceManager根据实时的资源占用情况进行动态分配资源
  40. 6.ApplicationMasterna拿到资源后再跟对应的NodeManager进行通信
  41. 7.NodeManager得到计算任务后,分配对应的Container容器来执行对应的Task任务
  42. 1.4 调度策略
  43. a.双层调度策略
  44. RM将资源分配给AM
  45. AM将资源进一步分配给各个任务
  46. b.基于资源预留的调度策略
  47. 当资源不够时,会为任务预留,直到资源充足
  48. 1.5 YARN与计算框架的关系
  49. 如果YARN是安卓系统的話,那么计算框架就是系统中的一个APP
  50. 其中计算框架有:
  51. 基于离线计算框架————MR
  52. 基于内存计算框架————Spark
  53. 基于流式计算框架————Storm
  54.  
  55. 2.MapReduce(基于离线计算框架)
  56. 2.1 MapReduce特点:
  57. 易于编程
  58. 良好的扩展性
  59. 高容错性
  60. 适合海量数据的离线处理
  61. 2.2 基本过程
  62. Map阶段-Shuffle-Reduce阶段
  63. Map阶段:
  64. 输入数据格式解析————InputFormat
  65. 输入数据处理————Mapper
  66. 数据分组————Partitioner
  67. Reduce阶段:
  68. 数据处理————Redecer
  69. 数据输出格式————OutputFormat
  70. 2.3 基本思想
  71. 大文件分为若干个小文件,计算各个小文件得到结果,然后再汇总输出
  72. 2.4 架构
  73. 采用YARN架构
  74. 2.5 应用场景
  75. 简单的数据统计 比如:网站的PV UV
  76. 搜索引擎建索引
  77. 海量数据查找
  78. 复杂的数据分析算法实现 比如:聚类、分类、推荐、图算法
  79. 2.6 Java编程
  80. 1.jar包(旧包兼容2.0,新包不一定支持)
  81. 2.编写mapper
  82. 3.编写reduce
  83. 4.打包
  84. 5.发布

  

YARN-MR 大数据第二天的更多相关文章

  1. FusionInsight大数据开发---MapReduce与YARN应用开发

    MapReduce MapReduce的基本定义及过程 搭建开发环境 代码实例及运行程序 MapReduce开发接口介绍 1. MapReduce的基本定义及过程 MapReduce是面向大数据并行处 ...

  2. 坐实大数据资源调度框架之王,Yarn为何这么牛

    摘要:Yarn的出现伴随着Hadoop的发展,使Hadoop从一个单一的大数据计算引擎,成为大数据的代名词. 本文分享自华为云社区<Yarn为何能坐实资源调度框架之王?>,作者: Java ...

  3. 开源大数据技术专场(上午):Spark、HBase、JStorm应用与实践

    16日上午9点,2016云栖大会“开源大数据技术专场” (全天)在阿里云技术专家封神的主持下开启.通过封神了解到,在上午的专场中,阿里云高级技术专家无谓.阿里云技术专家封神.阿里巴巴中间件技术部高级技 ...

  4. java大数据最全课程学习笔记(1)--Hadoop简介和安装及伪分布式

    Hadoop简介和安装及伪分布式 大数据概念 大数据概论 大数据(Big Data): 指无法在一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合,是需要新处理模式才能具有更强的决策力,洞察发 ...

  5. oschina大数据开源软件

    Hadoop 图形化用户界面 Hue 大数据可视化工具 Nanocubes 企业大数据平台 RedHadoop 大数据查询引擎 PrestoDB Hadoop集群监控工具 HTools 安全大数据分析 ...

  6. 【互动问答分享】第18期决胜云计算大数据时代Spark亚太研究院公益大讲堂

    Q1:Master和Driver的是同一个东西吗? 两者不是同一个东西,在Standalone模式下Master是用于集群资源管理和调度的,而Driver适用于指挥Worker上的Executor通过 ...

  7. 大数据入门第八天——MapReduce详解(三)MR的shuffer、combiner与Yarn集群分析

    /mr的combiner /mr的排序 /mr的shuffle /mr与yarn /mr运行模式 /mr实现join /mr全局图 /mr的压缩 今日提纲 一.流量汇总排序的实现 1.需求 对日志数据 ...

  8. C#码农的大数据之路 - 使用C#编写MR作业

    系列目录 写在前面 从Hadoop出现至今,大数据几乎就是Java平台专属一般.虽然Hadoop或Spark也提供了接口可以与其他语言一起使用,但作为基于JVM运行的框架,Java系语言有着天生优势. ...

  9. CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

随机推荐

  1. [日常训练]yayamao的神题

    Description $yayamao$是数学神犇,一天他在纸上计算起了$1/P$, 我们知道按照模拟除法可以得到准确解,例如$1/7=0.(142857),1/10=0.1(0)$.$yayama ...

  2. windows 下 新建 点开头的文件和文件夹

    新建 .aaa文件夹 cmd:$ mkdir .aaa 新建 .aaa文件夹 echo " >> .aaa

  3. java并发编程实战(java concurrency in practice)

    第一章   线程共享进程范围内的资源,但每个线程都有各自的程序计数器.栈以及局部变量等. 多个线程可以同时调度到多个CPU上运行.   线程的优势? 在服务应用程序中,可以提升资源利用率以及系统吞吐率 ...

  4. 触发器运用示例---laobai

    1 触发器 概念:trigger.逻辑对象的一种.当dml的增删改语句执行时,自动触发一系列动作. 分类:dml触发器.ddl触发器(很少见) sql:ddl,dml,dcl 按触发的时间分: 语句执 ...

  5. List集合的迭代器方法

    1.后台JAVA代码的实现 //获取所有的支付方式的迭代器 // 获取支付方式 @RequestMapping(value = "get/payed/type", method = ...

  6. Unicode, UTF, ASCII, ANSI format differences

    Going down your list: "Unicode" isn't an encoding, although unfortunately, a lot of docume ...

  7. Angular.js通过bootstrap实现经典的表单提交

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel= ...

  8. Java开发面试总结

    Java开发面试总结.. ----------------------- java 基础知识点这一块: 1.面向对象的三大特征.(继承,封装,多态) 1.1 在什么样的场合下面会使用到继承 1.2 什 ...

  9. pycloudtag 标签云

    原创,转载请标明 QQ:231469242 # -*- coding: utf-8 -*- """Python3.0 Created on Sat Nov 26 08:5 ...

  10. 各大主流.Net的IOC框架性能测试比较

    Autofac下载地址:http://code.google.com/p/autofac/ Castle Windsor下载地址:http://sourceforge.net/projects/cas ...