spark submit——mesos master状态不返回任何结果

lmvvr0a8  于 2021-06-26  发布在  Mesos
关注(0)|答案(2)|浏览(637)

我想通过以下方式检索在mesos主机上以群集模式运行的spark作业的状态:

spark-submit --master mesos://<ip>:7077 --status "driver-...-..."

它退出了 0 无论驱动程序的状态如何,都没有日志记录。
我知道它做的是对的,因为如果我用一个无效的mesos ip/端口运行命令,我会得到

Exception in thread "main" org.apache.spark.deploy.rest.SubmitRestConnectionException: Unable to connect to server
at org.apache.spark.deploy.rest.RestSubmissionClient$$anonfun$requestSubmissionStatus$3.apply(RestSubmissionClient.scala:165)

如果我用一个无效的提交id运行,我会得到

2018-10-02 18:47:01 ERROR RestSubmissionClient:70 - Error: Server responded with message of unexpected type SubmissionStatusResponse.

知道为什么吗 spark-submit --status 什么都不退吗?

piah890a

piah890a1#

不知道你用的是什么版本的spark。我的调查基于spark-2.4.0。所描述的行为对spark独立和mesos部署目标都有效。 org.apache.spark.deploy.rest.RestSubmissionClient 用作rest提交请求的处理程序,并以编程方式使用info level记录响应。 org.apache.spark.deploy.SparkSubmit 在调用spark submit时用作主类,其记录器是所有其他记录器的顶级根记录器。
从编程的Angular 来说,如果在conf/log4j.properties中没有设置sparksubmit的特定记录器(当不存在此文件时也会设置此属性),则默认级别设置为warn。
更进一步说,在restsubmissionclient没有特定的记录器的情况下,它将获得根记录器的级别,即sparksubmit的记录器。
您可以看到错误,因为“再次警告”是默认值。
为了能够查看rest提交的日志,您可能需要调整${spark\u home}/conf/log4j.properties log4j.logger.org.apache.spark.deploy.rest.RestSubmissionClient=INFO 或者 log4j.logger.org.apache.spark.deploy.rest=INFO 对于该包中的其他类。

cigdeys3

cigdeys32#

我通过直接访问dispatcher的api找到了一个解决方法: curl -s "http://$DISPATCHER/v1/submissions/status/$SUBMISSION_ID" 仍然没有明确的答案为什么 spark-submit --status 但并不像文件所记载的那样。

相关问题