我在客户端模式下运行Spark Cluster。我以编程方式将作业提交给spark群集。在引擎盖下,我正在使用spark-submit。
如果我的集群过载并且我启动了一个上下文,那么驱动程序JVM会继续等待执行程序。执行程序处于等待状态,因为集群没有足够的资源。以下是驱动程序日志中的日志消息
2017-10-27 13:20:15,260 WARN Timer-0 org.apache.spark.scheduler.TaskSchedulerImpl []: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources
2017-10-27 13:20:30,259 WARN Timer-0 org.apache.spark.scheduler.TaskSchedulerImpl []: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources
是否可以以编程方式检查应用程序的状态(例如,运行/等待等)?我知道我们可以使用应用程序ID,然后查询历史服务器,但我想知道一个不涉及REST调用历史服务器的解决方案。
SparkContext应该知道状态吗?我怎样才能从sc获得这些信息?