首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在scala中从yarn客户端获取纱线作业状态

在Scala中,可以使用YARN的Java API来从YARN客户端获取纱线(YARN)作业的状态。下面是一个示例代码,展示了如何使用Scala编写一个函数来获取YARN作业的状态:

代码语言:txt
复制
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.yarn.api.records.{ApplicationId, YarnApplicationState}
import org.apache.hadoop.yarn.client.api.YarnClient
import org.apache.hadoop.yarn.util.ConverterUtils

def getYarnJobStatus(applicationIdStr: String): String = {
  val conf = new Configuration()
  val yarnClient = YarnClient.createYarnClient()
  yarnClient.init(conf)
  yarnClient.start()

  val applicationId = ConverterUtils.toApplicationId(applicationIdStr)
  val applicationReport = yarnClient.getApplicationReport(applicationId)

  val state = applicationReport.getYarnApplicationState
  val status = state match {
    case YarnApplicationState.NEW => "New"
    case YarnApplicationState.NEW_SAVING => "New Saving"
    case YarnApplicationState.SUBMITTED => "Submitted"
    case YarnApplicationState.ACCEPTED => "Accepted"
    case YarnApplicationState.RUNNING => "Running"
    case YarnApplicationState.FINISHED => "Finished"
    case YarnApplicationState.FAILED => "Failed"
    case YarnApplicationState.KILLED => "Killed"
    case _ => "Unknown"
  }

  yarnClient.stop()
  status
}

这个函数接受一个YARN作业的应用程序ID作为参数,并返回作业的状态。它使用YARN的Java API来初始化YARN客户端,获取应用程序报告,并从报告中提取作业的状态。最后,它停止YARN客户端并返回作业状态。

这个函数可以在Scala应用程序中使用,例如:

代码语言:txt
复制
val applicationId = "application_1234567890_1234"
val jobStatus = getYarnJobStatus(applicationId)
println(s"YARN job status: $jobStatus")

请注意,这个示例代码假设你已经正确配置了Hadoop和YARN,并且在Scala项目中包含了相关的依赖。如果你需要更详细的信息,可以参考腾讯云的相关文档和API文档来了解如何在腾讯云上使用YARN。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Flink Scala Shell:使用交互式编程环境学习和调试Flink

交互式编程环境:REPL 当前最著名的交互式编程环境莫属Jupyter Notebook了,程序员可以启动一个交互的Session,在这Session编写代码、执行程序、获取结果,所见即所得。...代码拷贝 我们经常遇到的一个使用场景是网上看到一些代码片段,需要拷贝过来验证正确性。...远程链接 使用remote模式,指定JobManager的机器名(IP)和端口号: bin / start-scala-shell.sh远程 纱线 使用这个命令可以在Yarn上部署一个新的...bin / start-scala-shell.sh yarn -n 2 完整使用方法 Flink Scala壳 用法:start-scala-shell.sh [本地|远程|纱线] [选项] | --addclasspath 指定在 Flink中使用的其他jar 命令:yarn [options] 启动Flink Scala外壳连接到纱线

2.2K20

进击大数据系列(九)Hadoop 实时计算流计算引擎 Flink

支持有状态计算 所谓状态,就是在流式计算过程中将算子(Flink提供了丰富的用于数据处理的函数,这些函数称为算子)的中间结果(需要持续聚合计算,依赖后续的数据记录)保存在内存或者文件系统,等下一个事件进入算子后可以之前的状态获取中间结果...在执行过程,TaskManager会持续向JobManager汇报状态信息,例如开始执行、进行或完成等状态作业执行完成后,结果将通过JobManager发送给Client。...客户端向Flink YARN Session集群中提交作业时,相当于连接到一个预先存在的、长期运行的Flink集群,该集群可以接受多个作业提交。...集群)的运行状态,如图 图中可以看出,一个Flink YARN Session集群实际上就是一个长时间在YARN运行的应用程序(Application),后面的Flink作业也会提交到该应用程序...首先在HDFS准备/input/word.txt文件,内容如下: hello hadoop hello java hello scala java 然后在Flink客户端(centos01节点)执行以下命令

1.5K20
  • Flink on Zeppelin 作业管理系统实践

    在研发作业管理系统,我们引入Apache Zeppelin组件作为Flink SQL作业提交客户端,Flink 批流作业可视化预览的核心组件。...-2.11 和Scala-2.12 多种运行模式支持 支持4种不同Flink运行模式:Local,Remote,YarnYarn-Application,K8s(开发) 多语言支持,并且打通多语言间的协作...主要问题有以下: Zeppelin Server单点故障导致已经运行流作业失败,批作业无法正常提交;最初使用yarn这种模式提交,客户端 Flink Interpreter 进程运行在 Zeppelin...,超过一定数量时,等待释放资源提交; remote模式提交到hadoop yarn 已经存在的job manager,共享管理资源; yarn模式通过解析器新建flink cluster ; 作业提交后...,通过回调Zeppelin api,获取当次作业的提交信息记录到作业日志数据库,包含yarn application id及job id,并提交至flink统一后台监控程序监控; 销毁解析器进程,归档作业

    2K20

    Hadoop3的新增功能介绍

    3、YARN时间轴服务v.2 Yarn时间线服务是Hadoop3的新增功能。时间线服务器负责存储和检索应用程序的当前.和历史信息。...然后,它将自动为mapreduce.map/reduce.java.opts指定的Xmx变量推断出值。Xmx就是堆大小值系统属性。这种反向也是可能的。...系统mapredcue.map/reduce.memory.mb键获得其值。如果我们不指定任何值,则默认值为1024MB。对于明确指定此值的配置和作业代码,将不受影响。...9、纱线资源模型的概括 他们已经对Yarn资源模型进行了概括,以包含除CPU和内存以外的用户定义资源。这些用户定义的资源可以是软件许可证,GPU或本地连接的存储。纱线任务是根据这些资源安排的。...默认情况下,Yarn跟踪每个节点,应用程序和队列的CPU和内存。纱线可以扩展以跟踪其他用户定义的可数资源,例如GPU和软件许可证。GPU与容器的集成增强了数据科学和AI用例的性能。

    1K00

    Apache Spark:大数据时代的终极解决方案

    可以选择使用独立版本或使用为Hadoop预先构建的版本,该版本利用现有的Hadoop组件(HDFS)或构建在YARN上的版本。...SparkContext实例可以与Mesos或YARN等管理器连接,并将资源分配给不同的商用硬件,以获得最佳性能。分配后,每个作业的执行者会收到用于执行作业的应用程序代码及其任务。...SparkContext实例可以与Mesos或YARN等管理器连接,并可以将资源分配给不同的商品机器以获得最佳性能。分配后,每个作业的执行者会收到用于执行作业的应用程序代码和任务。...SparkContext实例可以与Mesos或YARN等管理器连接,并可以将资源分配给不同的商品机器以获得最佳性能。分配后,每个作业的执行者会收到用于执行作业的应用程序代码和任务。...电子商务网站使用流式聚类算法来分析实时交易来进行广告宣传,或者通过获取来对论坛、评论、社交媒体的洞察力向顾客推荐产品。Shopify、阿里巴巴和eBay都使用了这些技术。

    1.8K30

    Flink学习——Flink概述

    执行到位时,Task Manager会继续向Job Manager报告状态更改。 可以有各种状态,例如开始执行,正在进行或已完成。 作业执行完成后,结果将发送回Client。...JobManagers 和 TaskManagers 有多种启动方式:直接在机器上启动(该集群称为 standalone cluster),在容器或资源管理框架, YARN 或 Mesos,启动。...客户端(Client)虽然不是运行时(runtime)和作业执行时的一部分,但它是被用作准备和提交 dataflow 到 JobManager 的。...提交完成之后,客户端可以断开连接,也可以保持连接来接收进度报告。客户端既可以作为触发执行的 Java / Scala 程序的一部分,也可以在命令行进程运行./bin/flink run ...。...通过 slot sharing,将示例的并行度 2 增加到 6 可以充分利用 slot 的资源,同时确保繁重的 subtask 在 TaskManagers 之间公平地获取资源。 ?

    1.5K20

    在Hadoop YARN群集之上安装,配置和运行Spark

    Spark下载页面获取下载URL,下载并解压缩。...了解客户端和群集模式 Spark作业可以在YARN上以两种模式运行:集群模式和客户端模式。了解两种模式之间的差异对于选择适当的内存分配配置以及按预期提交作业非常重要。...客户端模式Spark驱动程序在客户端上运行,例如您的笔记本电脑。如果客户端关闭,则作业失败。...Spark Executors仍然在集群上运行,为了安排一切,创建了一个小的YARN Application Master。 客户端模式非常适合交互式作业,但如果客户端停止,应用程序将失败。...对于长时间运行的作业,群集模式更合适。 配置内存分配 如果未正确配置内存分配,则在YARN容器运行的Spark容器的分配可能会失败。

    3.6K31

    Spark实战系列4:Spark周边项目Livy简介

    任务,需要Spark环境的,Standalone模式是Spark 自 身的 一种调度模式,也是需要Spark环境,YARN模式,其实是将Spark JAR包提交到YARN上 面,由YARN去开启Contioner...、多租户的Spark作业,因此,多个 用户可以并发的、可靠的与Spark集群进 行交互使 用交互式Python和Scala Livy可以使 用Scala或者Python语 言,因此客户端可以通过远程与...Spark集群进 行通讯,此外,批处理作业可以在Scala、java、python完成 不需要修改代码 对现在程序的代码修改不需要修改Livy,只需要在Maven构建Livy,在Spark集群中部署配置就可以...其他功能包括: 由多个客户端 长时间运 行可 用于多个Spark作业的Spark上下 文 跨多个作业客户端共享缓存的RDD或数据帧 可以同时管理多个Spark上下 文,并且Spark上下 文运 行在群集上...(YARN / Mesos) 而不是Livy服务器,以实现良好的容错性和并发性 作业可以作为预编译的jar,代码 片段或通过java / scala客户端API提交 通过安全的认证通信确保安全 4

    1.5K10

    伴鱼实时计算平台 Palink 的设计与实现

    DOING:执行状态,同样会调度实例监测,防止长期处于进行的脏状态产生。 SUCCESSED:执行成功状态。随着用户的后续行为,重新提交、重新启动操作,状态会再次回到 UNDO 态。...有过离线或者 flink on yarn 开发经验的同学一定知道,作业在部署到 yarn 上之后会有一个 application 与之对应,每一个 application 都有其对应的状态和操作动作,比如我们可以执行...最后,在获取作业的完整信息后,再做一次 state mapping 将状态映射为平台抽象的状态类型。由于状态同步是周期性进行的,存在一定的延迟。...因此在平台获取作业详情时,也会同步触发一次状态同步,保证获取最新数据。  ...我们期望 Flink 可以提供一种类似于 Hive Cli 或者 Hive JDBC 的作业提交方式,用户无需写一行 Java 或 Scala 代码。

    60410

    0499-如何使用潜水艇在Hadoop之上愉快的玩耍深度学习

    使用Submarine计算引擎,用户可以提交一个简单的命令来运行单机/分布式深度学习训练作业,并可以YARN UI直接跳到notebook。所有其它复杂的事情比如分布式运行,都会由YARN负责。...这个作业使用用户指定的Docker镜像,与YARN上运行的其他作业共享计算资源(CPU/GPU/内存)。...使用Submarine,你可以YARN资源池获取云notebook。 通过运行以下命令,你就可以获得一个notebook,包括8GB内存,2个vcores和4个GPU,都是来自YARN上的资源。...7 项目状态 Alpha解决方案已经合并到了trunk,作为Hadoop3.2的一部分,仍然处于积极的开发与测试,Umbrella JIRA: YARN-8135。...已有的计算集群状态: 中国最大的在线游戏/新闻/音乐提供商 总共差不多有6000个节点的YARN集群 每天10万个作业,40%是Spark作业

    87010

    Flink1.7到1.12版本升级汇总

    State Processor API (FLIP-43) 直到 Flink 1.9,外部访问作业状态仅局限于:Queryable State(可查询状态)实验性功能。...统一的作业提交逻辑 在此之前,提交作业是由执行环境负责的,且与不同的部署目标(例如 Yarn, Kubernetes, Mesos)紧密相关。...此外,随着引入 JobClient(FLINK-74 [14])负责获取 JobExecutionResult,获取作业执行结果的逻辑也得以与作业提交解耦。 5.3....核心是 Job Graph 的生成以及作业的提交不在客户端执行,而是转移到 JM 端执行,这样网络下载上传的负载也会分散到集群,不再有上述 client 单点上的瓶颈。...Yarn application 会在客户端将运行作业需要的依赖都通过 Yarn Local Resource 传递到 JM。

    2.6K20

    带你理解并亲手实践 Spark HA 部署配置及运行模式

    公众号『数人之道』原创文章,欢迎关注获取更多数据知识、干货、资讯!...Applications 信息及 Spark 的作业运行状态等。...5.1.查看 Spark 集群的 Web 页面 使用 Master 节点的地址(端口号为 8089)登录 Spark 的 Master Web 客户端页面,可查看 Spark 的状态、Worker 数量...在 YARN 模式下,Spark 作业的运行流程 ResourceManager 取代了 Spark 的 Master,实现资源协调分配功能,告知 Spark 的 Driver 哪里有空闲资源(NodeManager...ApplicationMaster ,负责向 ResourceManager 申请资源(NodeManager),并监督作业的运行状况,当用户提交了作业之后,就可以关掉 Client,作业会继续在 YARN

    2.2K91

    独孤九剑-Spark面试80连击(下)

    Application Master 在 Yarn 集群先启动。...ZOOKEEPER: 集群元数据持久化到 Zookeeper ,当 Master 出现异常,ZK 通过选举机制选举新的 Master,新的 Master 接管的时候只要从 ZK 获取持久化信息并根据这些信息恢复集群状态...FILESYSTEM: 集群元数据持久化到本地文件系统,当 Master 出现异常的时候,只要在该机器上重新启动 Master,启动后新的 Master 获取持久化信息并根据这些信息恢复集群的状态。...方式二:集合创建RDD 3.Transformation 算子,这种变换并不触发提交作业,完成作业中间过程处理。...: 由于失败而没有处理完成的批处理,将使用恢复的元数据再次产生 RDD 和对应的作业 读取保存在日志的块数据: 在这些作业执行的时候,块数据直接预写日志读出,这将恢复在日志可靠地保存所有必要的数据

    1.4K11

    独孤九剑-Spark面试80连击(下)

    Application Master 在 Yarn 集群先启动。...ZOOKEEPER: 集群元数据持久化到 Zookeeper ,当 Master 出现异常,ZK 通过选举机制选举新的 Master,新的 Master 接管的时候只要从 ZK 获取持久化信息并根据这些信息恢复集群状态...FILESYSTEM: 集群元数据持久化到本地文件系统,当 Master 出现异常的时候,只要在该机器上重新启动 Master,启动后新的 Master 获取持久化信息并根据这些信息恢复集群的状态。...方式二:集合创建RDD 3.Transformation 算子,这种变换并不触发提交作业,完成作业中间过程处理。...: 由于失败而没有处理完成的批处理,将使用恢复的元数据再次产生 RDD 和对应的作业 读取保存在日志的块数据: 在这些作业执行的时候,块数据直接预写日志读出,这将恢复在日志可靠地保存所有必要的数据

    88020

    Spark的调度系统

    当有多个应用或者多个程序在你的集群运行时,这就牵涉到如何在集群给这些Spark App分配资源。 最简单的方式是提供静态资源分配。也即给运行程序分配固定资源,资源数在该程序运行期间都不会有变动。...3,yarn Spark YARN客户端的--num-executors选项控制在集群上分配的Executor数量,而--executor-memory和--executor-cores则控制每个执行程序的资源...假如你自己编译的Spark该jar应该在 下面的目录里$SPARK_HOME/network/yarn/target/scala- ,以分发到集群的方式里,可以放到lib里面。...如果服务已启用,Spark执行程序将从服务获取shuffle文件,而不是其它Executor。这意味着由执行人员写入的任何shuffle 状态可能会继续执行超出Executor的生命周期。...四,Spark App内部调度 在给定的Spark应用程序(SparkContext实例),如果单独的线程提交多个并行作业,则可以同时运行。

    1.7K80
    领券