当前位置: 首页 > 知识库问答 >
问题:

如何在spark提交中获取driver-Id

郑俊彦
2023-03-14

Spark集群信息:

    null

我从一个工作人员那里向spark cluster提交了一个jar,我希望从提交中接收driver-Id,这样我就可以在以后的应用程序状态检查中使用该id。问题是我在控制台中没有得到任何输出。我使用端口6066进行提交,并将部署模式设置为cluster

通过跑步

spark-submit --deploy-mode cluster --supervise --class "path/to/class" --master "spark://spark-master-headless:6066" path/to/app.jar

在spark日志文件中,我可以看到下面提交的json响应,这正是我想要的:

[INFO] 2018-07-18 12:48:40,030 org.apache.spark.deploy.rest.RestSubmissionClient logInfo - Submitting a request to launch an application in spark://spark-master-headless:6066.
 [INFO] 2018-07-18 12:48:41,074 org.apache.spark.deploy.rest.RestSubmissionClient logInfo - Submission successfully created as driver-20180718124840-0023. Polling submission state...
 [INFO] 2018-07-18 12:48:41,077 org.apache.spark.deploy.rest.RestSubmissionClient logInfo - Submitting a request for the status of submission driver-20180718124840-0023 in spark://spark-master-headless:6066.
 [INFO] 2018-07-18 12:48:41,092 org.apache.spark.deploy.rest.RestSubmissionClient logInfo - State of driver driver-20180718124840-0023 is now RUNNING.
 [INFO] 2018-07-18 12:48:41,093 org.apache.spark.deploy.rest.RestSubmissionClient logInfo - Driver is running on worker worker-20180707104934-<some-ip-was-here>-7078 at <some-ip-was-here>:7078.
 [INFO] 2018-07-18 12:48:41,114 org.apache.spark.deploy.rest.RestSubmissionClient logInfo - Server responded with CreateSubmissionResponse:
{
  "action" : "CreateSubmissionResponse",
  "message" : "Driver successfully submitted as driver-20180718124840-0023",
  "serverSparkVersion" : "2.2.0",
  "submissionId" : "driver-20180718124840-0023",
  "success" : true
}
 [INFO] 2018-07-18 12:48:46,572 org.apache.spark.executor.CoarseGrainedExecutorBackend initDaemon - Started daemon with process name: 31605@spark-worker-662224983-4qpfw
 [INFO] 2018-07-18 12:48:46,580 org.apache.spark.util.SignalUtils logInfo - Registered signal handler for TERM
 [INFO] 2018-07-18 12:48:46,583 org.apache.spark.util.SignalUtils logInfo - Registered signal handler for HUP
 [INFO] 2018-07-18 12:48:46,583 org.apache.spark.util.SignalUtils logInfo - Registered signal handler for INT
 [WARN] 2018-07-18 12:48:47,293 org.apache.hadoop.util.NativeCodeLoader <clinit> - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
 [INFO] 2018-07-18 12:48:47,607 org.apache.spark.SecurityManager logInfo - Changing view acls to: root
 [INFO] 2018-07-18 12:48:47,608 org.apache.spark.SecurityManager logInfo - Changing modify acls to: root
...
# Set everything to be logged to the console
log4j.rootCategory=INFO, RollingAppender
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n

log4j.appender.RollingAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RollingAppender.File=/var/log/spark.log
log4j.appender.RollingAppender.DatePattern='.'yyyy-MM-dd
log4j.appender.RollingAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.RollingAppender.layout.ConversionPattern=[%p] %d %c %M - %m%n

# Set the default spark-shell log level to WARN. When running the spark-shell, the
# log level for this class is used to overwrite the root logger's log level, so that
# the user can have different defaults for the shell and regular Spark apps.
log4j.logger.org.apache.spark.repl.Main=INFO

# Settings to quiet third party logs that are too verbose
log4j.logger.org.spark_project.jetty=INFO
log4j.logger.org.spark_project.jetty.util.component.AbstractLifeCycle=ERROR
log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO
log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO
log4j.logger.org.apache.parquet=ERROR
log4j.logger.parquet=ERROR

# SPARK-9183: Settings to avoid annoying messages when looking up nonexistent UDFs in SparkSQL with Hive support
log4j.logger.org.apache.hadoop.hive.metastore.RetryingHMSHandler=FATAL
log4j.logger.org.apache.hadoop.hive.ql.exec.FunctionRegistry=ERROR

我假设这不会让冗长的命令发挥作用。如何将其更改为使用--verbose获取一些内容?

共有1个答案

燕宏胜
2023-03-14

当您在集群模式下运行作业时,驱动程序可以是集群中的任何节点,因此无论您做什么,打印/控制台重定向都可能不会返回到打开控制台的客户机/边缘节点/工作节点。

尝试在客户端模式下提交aplication

 类似资料:
  • 我想在窗体的操作重定向它之前从窗体中获取值。例如,在这个表单中,我想抓取“text_one”并将其发送到数据库,然后再将其重定向到google。我还想在谷歌上看到“text_one”。我该怎么办?

  • 问题内容: 我正在尝试从表中删除很多行。我想尝试将要删除的行放入游标中,然后继续对游标的每一行进行获取,删除,提交操作,直到它为空。 在下面的代码中,我们是行,并将其放入。 我如何修改下面的代码以从图片中删除TYPE,而只是简单地对光标本身进行操作即可。 问题答案: 为什么要分批提交?那只会减慢您的处理速度。除非有其他会话试图修改要删除的行,否则由于其他原因,这似乎是有问题的,最有效的方法是简单地

  • 如何从df_raw中提取数据(标签)这是Mapstruct? 我正在使用Spark 1.6。我在Spark中通过hivesql从Hive获取数据,然后我得到了一个数据框,但数据框中的一列是Mapstruct,我试图从中提取数据,但失败了,非常希望stackoverflow能给我一些帮助,3Q。 从Hive获取数据后,我得到了一个名为df\u raw的数据帧,模式为: 和df\U raw。显示(3)

  • 问题内容: 我正在使用ASP.net Web应用程序。 我有一个带有提交按钮的表格。提交按钮的代码如下所示。 我想写如下内容: 我该怎么做呢? 问题答案: 你最好做… 如果返回,则您的表单不会提交。 您可能还应该将事件处理程序从内联移动。

  • 使用Spring 我的服务: 后来我实现了一些逻辑: 但它没有捕获关于重复密钥的报告的异常: 所以,我的角色并没有被扔出去。我的角色已经不存在了。在服务结束方法的事务提交期间引发异常。如何捕捉异常???或者如何以另一种方式在Spring中实现这种逻辑??