当前位置:首页 » 网页前端 » 脚本监控yarn任务
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

脚本监控yarn任务

发布时间: 2022-02-24 02:18:39

㈠ yarn是如何解决高可用问题的

摘要 YARN 的高可用:

㈡ 如何杀死 spark on yarn 任务

这里是结合Hadoop2.0使用的1,download:根据的spark的README中的描述合适的版本3,安装其实就是解压,配置/etc/profile环境变量exportSPARK_HOME=/data1/spark/sparkexportSCALA_HOME=/data1/spark/scala-2.9.3exportPATH=$PATH:$SPARK_HOME/bin:$SCALA_HOME/bin配置spark的conf下的spark-env.shexportJAVA_HOME=/usr/java/defaultexportSCALA_HOME=/data1/spark/scala-2.9.3exportSPARK_MASTER_IP=192.168.0.1exportSPARK_MASTER_WEBUI_PORT=8080exportSPARK_WORKER_WEBUI_PORT=8000exportYARN_CONF_DIR=/data/hadoop/hadoop-2.0/etc/hadoop配置slaves(ip根据需要修改)192.168.0.2192.168.0.3分发spark目录和scala目录到几台服务器相同路径下4,启动进入主节点的spark目录的bin下stop-all.sh是停掉集群,start-all.sh启动集群,jps可以在主节点看到master进程,slave节点看到worker进程5,运行程序,运行例子进入spark目录下分布式运行./run-exampleorg.apache.spark.examples.SparkPispark://192.168.0.1:7077./run-exampleorg.apache.spark.examples.SparkLRspark://192.168.0.1:7077本地运行./run-exampleorg.apache.spark.examples.SparkPilocal./run-exampleorg.apache.spark.examples.SparkLRlocal

㈢ 用什么命令查看yarn平台mr运行的日志

用hadoop也算有一段时间了,一直没有注意过hadoop运行过程中,产生的数据日志,比如说System打印的日志,或者是log4j,slf4j等记录的日志,存放在哪里,日志信息的重要性,在这里散仙就不用多说了,调试任何程序基本上都得需要分析日志。

㈣ 如何在代码中通过API监控Hadoop,Spark任务的进度和结果

使用脚本提交 1.使用spark脚本提交到yarn,首先需要将spark所在的主机和hadoop集群之间hosts相互配置(也就是把spark主机的ip和主机名配置到hadoop所有节点的/etc/hosts里面,再把集群所有节点的ip和主机名配置到spark所在主机的/etc/hosts里面)。 2.然后需要把hadoop目录etc/hadoop下面的*-sit.xml复制到${SPARK_HOME}的conf下面. 3.确保hadoop集群配置了 HADOOP_CONF_DIR or YARN_CONF_DIR 1.yarn-standalone方式提交到yarn 在${SPARK_HOME}下面执行: SPARK_JAR=./assembly/target/scala-2.10.4/spark-assembly-0.9.0-incubating-hadoop2.2.0.jar \ ./bin/spark-class org.apache.spark.deploy.yarn.Client \ --jar ./examples/target/scala-2.10/spark-examples_2.10-assembly-0.9.0-incubating.jar \ --class org.apache.spark.examples.SparkPi \ --args yarn-standalone \ --num-workers 3 \ --master-memory 2g \ --worker-memory 2g \ --worker-cores 1 复制代码 2. yarn-client 方式提交到yarn 在${SPARK_HOME}下面执行: SPARK_JAR=./assembly/target/scala...

㈤ YARN到底是怎么一回事

YARN的编程模型
1:保证编程模型的向下兼容性,MRv2重用了MRv1的编程模型和数据处理引擎,但运行环境被重写。
2:编程模型与数据处理引擎
maprece应用程序编程接口有两套:新的API(mapred)和旧的API(maprece)
采用MRv1旧的API编写的程序可直接运行在MRv2上
采用MRv1新的API编写的程序需要使用MRv2编程库重新编译并修改不兼容的参数 和返回值
3:运行时环境
MRv1:Jobracker和Tasktracker
MRv2:YARN和ApplicationMaster

YARN的组成
yarn主要由ResourceManager,NodeManager,ApplicationMaster和Container等几个组件组成。
ResourceManager(RM)
RM是全局资源管理器,负责整个系统的资源管理和分配。
主要由两个组件组成:调度器和应用 程序管理器(ASM)
调度器
调度器根据容量,队列等限制条件,将系统中的资源分配给各个正在运行的应用程序
不负责具体应用程序的相关工作,比如监控或跟踪状态
不负责重新启动失败任务
资源分配单位用“资源容器”resource Container表示
Container是一个动态资源分配单位,它将内存,CPU,磁盘,网络等资源封装在一起,从而限定每个任务的资源量
调度器是一个可插拔的组件,用户可以自行设计
YARN提供了多种直接可用的调度器,比如fair Scheler和Capacity Scheler等。
应用程序管理器
负责管理整个系统中所有应用程序
ApplicationMaster(AM)
用户提交的每个应用程序均包含一个AM
AM的主要功能
与RM调度器协商以获取资源(用Container表示)
将得到的任务进一步分配给内部的任务
与NM通信以自动/停止任务
监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务
当前YARN自带了两个AM实现
一个用于演示AM编写方法的实例程序distributedshell
一个用于Maprece程序---MRAppMaster
其他的计算框架对应的AM正在开发中,比如spark等。
Nodemanager(NM)和Container
NM是每个节点上的资源和任务管理器
定时向RM汇报本节点上的资源使用情况和各个Container的运行状态
接收并处理来自AM的Container启动/停止等各种要求
Container是YARN中的资源抽象,它封装了某个节点上的多维度资源
YARN会为每个任务分配一个Container,且改任务只能使用该Container中描述的资源
Container不同于MRv1的slot,它是一个动态资源划分单位,是根据应用程序的需求动态产生的
YARN主要由以下几个协议组成
ApplicationClientProtocol
Jobclient通过该RPC协议提交应用才程序,查询应用程序状态等

Admin通过该协议更新系统配置文件,比如节点黑名单,用户队列权限等。
ApplicationMasterProtocol
AM通过该RPC协议想RM注册和撤销自己,并为各个任务申请资源
ContainerManagementProtocol
AM通过要求NM启动或者停止Container,获取各个Container的使用状态等信息
ResourceTracker
NM通过该RPC协议向RM注册,并定时发送心跳信息汇报当前节点的资源使用情况和Container运行状况
YARN的工作流程
文字描述一下这个过程:
1:由客户端提交一个应用,由RM的ASM接受应用请求
提交过来的应用程序包括哪些内容:
a:ApplicationMaster
b:启动Applicationmaster的命令
c:本身应用程序的内容
2:提交了三部分内容给RM,然后RM找NodeManager,然后
Nodemanager就启用Applicationmaster,并分配Container

接下来我们就要执行这个任务了,
3:但是执行任务需要资源,所以我们得向RM的ASM申请执行任务的资源(它会在RM这儿注册一下,说我已经启动了,注册了以后就可以通过RM的来管理,我们用户也可以通过RM的web客户端来监控任务的状态)ASM只是负责APplicationMaster的启用
4::我们注册好了后,得申请资源,申请资源是通过第四步,向ResourceScheler申请的
5:申请并领取资源后,它会找Nodemanager,告诉他我应经申请到了,然后Nodemanager判断一下,
6:知道他申请到了以后就会启动任务,当前启动之前会准备好环境,
7:任务启动以后会跟APplicationmaster进行通信,不断的心跳进行任务的汇报。
8:完成以后会给RM进行汇报,让RSM撤销注册。然后RSM就会回收资源。当然了,我们是分布式的,所以我们不会只跟自己的Nodemanager通信。也会跟其他的节点通信。

㈥ 如何在yarn中查看spark任务

[{icon:'extjs/examples/shared/icons/fam/cog_edit.png',//UseaURLintheiconconfigtooltip:'Edit',handler:function(grid,rowIndex,colIndex){varrec=grid.getStore().getAt(rowIndex);alert("Edit"+rec.get('firstname'));}},{icon:'extjs/examples/restful/images/delete.png',tooltip:'Delete',handler:function(grid,rowIndex,colIndex){varrec=grid.getStore().getAt(rowIndex);alert("Terminate"+rec.get('firstname'));}}]}],

㈦ 如何通过Java程序提交yarn的MapRece计算任务

1、在程序中,我将文件读入格式设定为WholeFileInputFormat,即不对文件进行切分。

2、为了控制rece的处理过程,map的输出键的格式为组合键格式。与常规的<key,value>不同,这里变为了<textpair,value>,TextPair的格式为<key1,key2>。

3、为了适应组合键,重新设定了分组函数,即GroupComparator。分组规则为,只要TextPair中的key1相同(不要求key2相同),则数据被分配到一个rece容器中。这样,当相同key1的数据进入rece容器后,key2起到了一个数据标识的作用

㈧ 如何使用spark将程序提交任务到yarn-Spark-about云

使用脚本提交 1使用spark脚本提交到yarn,首先需要将spark所在的主机和hadoop集群之间hosts相互配置(也就是把spark主机的ip和主机名配置到hadoop所有节点的/etc/hosts里面,再把集群所有节点的ip和主机名配置到spark所在主机的/etc/hosts里面如何使用spark将程序提交任务到yarn-Spark-about云

㈨ yarn 任务怎么获得其运行时间

第二代的maprece框架的TaskScheler就是yarn

YARN的编程模型

1:保证编程模型的向下兼容性,MRv2重用了MRv1的编程模型和数据处理引擎,但运行环境被重写。

2:编程模型与数据处理引擎

maprece应用程序编程接口有两套:新的API(mapred)和旧的API(maprece)

采用MRv1旧的API编写的程序可直接运行在MRv2上

采用MRv1新的API编写的程序需要使用MRv2编程库重新编译并修改不兼容的参数 和返回值

3:运行时环境

MRv1:Jobracker和Tasktracker

MRv2:YARN和ApplicationMaster

YARN的组成

yarn主要由ResourceManager,NodeManager,ApplicationMaster和Container等几个组件组成。

ResourceManager(RM)

RM是全局资源管理器,负责整个系统的资源管理和分配。

主要由两个组件组成:调度器和应用 程序管理器(ASM)

调度器

调度器根据容量,队列等限制条件,将系统中的资源分配给各个正在运行的应用程序

不负责具体应用程序的相关工作,比如监控或跟踪状态

不负责重新启动失败任务

资源分配单位用“资源容器”resource Container表示

Container是一个动态资源分配单位,它将内存,CPU,磁盘,网络等资源封装在一起,从而限定每个任务的资源量

调度器是一个可插拔的组件,用户可以自行设计

YARN提供了多种直接可用的调度器,比如fair Scheler和Capacity Scheler等。

应用程序管理器

负责管理整个系统中所有应用程序

ApplicationMaster(AM)

用户提交的每个应用程序均包含一个AM

AM的主要功能

与RM调度器协商以获取资源(用Container表示)

将得到的任务进一步分配给内部的任务

与NM通信以自动/停止任务

监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务

当前YARN自带了两个AM实现

一个用于演示AM编写方法的实例程序distributedshell

一个用于Maprece程序---MRAppMaster

其他的计算框架对应的AM正在开发中,比如spark等。

Nodemanager(NM)和Container

NM是每个节点上的资源和任务管理器

定时向RM汇报本节点上的资源使用情况和各个Container的运行状态

接收并处理来自AM的Container启动/停止等各种要求

Container是YARN中的资源抽象,它封装了某个节点上的多维度资源

YARN会为每个任务分配一个Container,且改任务只能使用该Container中描述的资源

Container不同于MRv1的slot,它是一个动态资源划分单位,是根据应用程序的需求动态产生的

㈩ 如何编写YARN应用程序

1. 概述
YARN是一个资源管理系统,负责集群资源的管理和分配。如果想要将一个新的应用程序运行在YARN之上,通常需要编写两个组件:客户端和ApplicationMaster。由于这两个组件编写非常复杂,尤其ApplicationMaster,需要考虑RPC调用、任务容错等细节,所以,往往由专业的开发人员编写这两个组件,并提供给上层的应用程序用户使用。如果大量应用程序可抽象成一种通用框架,那么只需实现一个客户端和一个ApplicationMaster,然后让所有应用程序重用这两个组件即可,比如MapRece是一种通用的计算框架,YARN已经为其实现了一个直接可以使用的客户端—MRClientService和ApplicationMaster—MRAppMaster。
本文主要介绍了如何让一种新的应用程序,或者新的计算框架,运行于YARN之上。正如前面介绍的,用户需要编写两个组件完成该任务:客户端和ApplicationMaster,其中,客户端负责向ResourceManager提交ApplicationMaster,并查询应用程序运行状态,ApplicationMaster负责向ResourceManager申请资源(以Container形式表示),并与NodeManager通信以启动各个Container,此外,ApplicationMaster还负责监控各个任务运行状态,并在失败是为其重新申请资源。
2. YARN Appcalition涉及到的RPC协议和主要编写步骤
(1) 涉及到的RPC协议
通常而言,编写一个YARN Appcalition涉及到3个RPC协议,分别为:
1) ClientRMProtocol(Client<–>ResourceManager)
Client通过该协议将应用程序提交到ResourceManager上、查询应用程序的运行状态或者杀死应用程序等。
2) AMRMProtocol(ApplicationMaster<–>ResourceManager)
ApplicationMaster使用该协议向ResourceManager注册、申请资源以运行自己的各个任务。
3) ContainerManager(ApplicationMaster<–> NodeManager)
ApplicationMaster使用该协议要求NodeManager启动/撤销Container,或者获取各个container的运行状态。
(2)客户端编写流程
步骤1 Client通过RPC函数ClientRMProtocol#getNewApplication从ResourceManager中获取唯一的application ID
步骤2 Client通过RPC函数ClientRMProtocol#submitApplication将ApplicationMaster提交到ResourceManager上。
(3)ApplicationMaster编写流程
步骤1 ApplicationMaster通过RPC函数AMRMProtocol#registerApplicationMaster向ResourceManager注册。
步骤2 ApplicationMaster通过RPC函数AMRMProtocol#allocate向ResourceManager申请资源(以Container形式表示)。
步骤3 ApplicationMaster通过RPC函数ContainerManager#startContainer要求对应的NodeManager启动Container。
ApplicationMaster重复步骤2~3,直到所有任务运行成功。
另外,在应用程序运行过程中,用户可使用ClientRMProtocol#getApplicationReport 查询应用程序运行状态,也可以使用ClientRMProtocol#forceKillApplication将应用程序杀死。