scala - 使用scala-submit从scala二进制文件开始跟踪和记录/调试 yarn 的贴合

标签 scala apache-spark debugging hadoop yarn

我正在尝试设计一个集成测试框架。
我将运行一些用Scala编写的jar,并使用spark-submit --master yarn命令运行Spark进程。
有什么方法可以在运行此jar时提交一些id或名称,以帮助我找到哪个jar进程调用了哪个yarn进程,从而使其更易于调试?

编辑:我无法在Scala中编辑代码,我唯一能做的就是在我的环境中运行jar。

最佳答案

您可以使用应用程序名称检查Spark提交的 yarn 应用程序。

一种。使用应用程序名称参数提交Spark应用程序。

SparkSession.builder.appName("spark-app-name")......

b。使用应用名称检查Yarn应用ID。
yarn application -list | awk '$2 == "spark-app-name" {print $1}'

C。获得应用程序ID后,您可以使用Yarn REST API检查Yarn应用程序的状态:
http://<RM_HOST>:8088/ws/v1/cluster/apps/$job_id/state

关于scala - 使用scala-submit从scala二进制文件开始跟踪和记录/调试 yarn 的贴合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52810136/

相关文章:

c - GDB 符号丢失 - libc 声称是错误的库或版本不匹配

java - 将 Scala 编织到现有的 Java EE 项目中?

json - spray-json JsonFormat 案例类

python - Pyspark (spark 1.6.x) 导入错误 : cannot import name Py4JJavaError

apache-spark - Cassandra/Spark 显示大表的错误条目数

debugging - Visual VoiceXML/VXML 开发工具?

scala - 为什么从单元测试中调用隐式变量时未在 Scala 中初始化?

scala - 在 IntelliJ IDE 中配置 Scala 脚本以通过 Spark-submit 运行 Spark 独立脚本

python - 从 takeOrdered 返回一个 RDD,而不是一个列表

java - 不幸的是,应用程序已阻止大脑游戏应用程序中的错误