如何查看作业是否失败以及原因?



如何使用ClusterClient来检查作业是否失败以及原因?

ClusterClient#getJobStatus似乎是一个很好的第一候选人,但它只说工作是否失败,没有任何关于例外的信息。

作业的提交是通过分离的客户端完成的,因此等待其ClusterClient#run返回JobExecutionResult不是一种选择。

我也试过RestClusterClient#retrieveJob也不起作用,失败:

org.apache.flink.runtime.client.JobRetrievalException: Can't 检索前导作业管理器。 在 org.apache.flink.runtime.client.JobListeningContext.getJobManager(JobListeningContext.java:157( 在 org.apache.flink.runtime.client.JobListeningContext.getClassLoader(JobListeningContext.java:141( 在 org.apache.flink.runtime.client.JobClient.awaitJobResult(JobClient.java:262( 在 org.apache.flink.client.program.ClusterClient.retrieveJob(ClusterClient.java:586( at java.lang.Thread.run(Thread.java:745( 引起: org.apache.flink.runtime.leaderretrieval.LeaderRetrievalException: 无法检索领导者网关。 在 org.apache.flink.runtime.util.LeaderRetrievalUtils.retrieveLeaderGateway(LeaderRetrievalUtils.java:82( 在 org.apache.flink.runtime.client.JobListeningContext.getJobManager(JobListeningContext.java:152( ...10 更多 原因:java.util.concurrent.TimeoutException: Futures 在 [10000 毫秒] 后超时 scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:223( 在 scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:227( at scala.concurrent.Await$$anonfun$result$1.apply(package.scala:190( 在 scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53( at scala.concurrent.Await$.result(package.scala:190( at scala.concurrent.Await.result(package.scala( at org.apache.flink.runtime.util.LeaderRetrievalUtils.retrieveLeaderGateway(LeaderRetrievalUtils.java:80( ...11 更多

使用 NewClusterClient#requestJobResult 可以使用RestClusterClient来完成。

相关内容

  • 没有找到相关文章

最新更新