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

python+大数据能创业吗(python+大数据开发时代的基石和生产资料是什么)

python+大数据能创业吗(python+大数据开发时代的基石和生产资料是什么)

YARN YARN 简介: Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的Hadoop资源管理器。 1、YARN是一个 通用 资源管理系统 和 调度平台 ,可为上层应用提供统一的资源管理和调度。 2、它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。 资源管理系统 :集群的硬件资源,和程序运行相关,比如 内存 、 CPU 等。 调度平台 :多个程序同时申请计算 资源如何分配 ,调度的规则(算法)。 通用 :不仅仅支持MapReduce程序,理论上 支持各种计算程序 。YARN不关心你干什么,只关心你要资源,在有的情况下给你,用完之后还我。(这也保障了Hadoop在大数据行业的地位) HDFS可能不是最优秀的大数据存储系统,但却是应用最广泛的大数据存储系统, YARN功不可没 (这也保障了Hadoop在大数据行业的地位) YARN3大组件: ResourceManager(RM)   (作为最高指挥官,所有机器都属于RM管理) YARN集群中的主角色,决定系统中所有应用程序之间 资源分配的最终权限,即最终仲裁者 。 接收用户的作业提交,并通过NM分配、管理各个机器上的计算资源。 NodeManager(NM)    (负责本机器资源调动) YARN中的从角色,一台机器上一个,负责 管理本机器上的计算资源 。 根据RM命令,启动Container容器、监视容器的资源使用情况。并且向RM主角色汇报资源使用情况。 ApplicationMaster(AM)  (与RM建立连接,并在任务进行过程中始终保持联系,任务结束时自己也会关闭) 用户提交的每个应用程序均包含一个AM。 应用程序内的“老大” ,负责程序内部各阶段的资源申请,监督程序的执行情况。 核心交互流程 1、  MR作业提交 Client-->RM 2、 资源的申请 MrAppMaster-->RM 3、 MR作业状态汇报 Container(Map|Reduce Task)-->Container(MrAppMaster) 4、 节点的状态汇报 NM-->RM

当用户向 YARN 中提交一个应用程序后, YARN将分两个阶段运行该应用程序 。

  第一个阶段是 客户端申请资源启动运行本次程序的 ApplicationMaster ;   第二个阶段是由 ApplicationMaster 根据本次程序内部具体情况,为它申请资源,并监控它的整个运行过程 ,直 到运行完成。 MR提交YARN交互流程 第 1 步 、用户通过客户端向YARN中ResourceManager提交应用程序(比如hadoop jar提交MR程序); 第 2 步 、ResourceManager为该应用程序分配第一个Container(容器),并与对应的NodeManager通信,要求它在这个Container中启动这个应用程序的ApplicationMaster。 第 3 步 、ApplicationMaster启动成功之后,首先向ResourceManager注册并保持通信,这样用户可以直接通过 ResourceManage查看应用程序的运行状态(处理了百分之几); 第 4 步 、AM为本次程序内部的各个Task任务向RM申请资源,并监控它的运行状态; 第 5 步 、一旦 ApplicationMaster 申请到资源后,便与对应的 NodeManager 通信,要求它启动任务。 第 6 步 、NodeManager 为任务设置好运行环境后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务 第 7 步 、各个任务通过某个 RPC 协议向 ApplicationMaster 汇报自己的状态和进度,以让 ApplicationMaster 随 时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。在应用程序运行过程中,用户可随时通过 RPC 向 ApplicationMaster 查询应用程序的当前运行状态。   第 8 步 、应用程序运行完成后,ApplicationMaster 向 ResourceManager 注销并关闭自己。 Scheduler:资源调度控制 三种调度器: FIFO Scheduler(先进先出调度器):先来后到原则,即先提交的任务先占用资源,无法设定优先级。适用于负载较低的小集群。最原始的调度器。 Capacity Scheduler(容量调度器):Apache默认调度器, 该策略允许 多个组织共享整个集群资源 ,每个组织可以获得集群的一部分计算能力。 通过为每个组织分配专门的队列,然后再为每个队列分配一定的集群资源, 这样整个集群就可以通过设置多个队列的方式给多个组织提供服务了。 Capacity Scheduler调度器以队列为单位划分资源。简单通俗点来说,就是一个个队列有独立的资源,队列的结构 和资源是可以进行配置的。 特性:层次化的队列设计、容量保证、安全、弹性分配 Fair Scheduler(公平调度): Fair Scheduler设计目标是为所有的应用分配公平的资源(对公平的定义通过参数来设置)。 公平调度可以在多个队列间工作,允许资源共享和抢占。 如何理解公平: 有两个用户A和B,每个用户都有自己的队列。 A启动一个作业,由于没有B的需求,它分配了集群所有可用的资源。 然后B在A的作业仍在运行时启动了一个作业,经过一段时间,A,B各自作业都使用了一半的资源。 现在,如果B用户在其他作业仍在运行时开始第二个作业,它将与B的另一个作业共享其资源,因此B的每个作业将拥有资源的四分之一,而A的继续将拥有一半的资源。结果是资源在用户之间公平地共享。 特性优势: 分层队列、基于用户或组的队列映射、资源抢占、保证最小配额、允许资源共享、默认不限制每个队列和用户可以同时运行应用的数量
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/772227.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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