当我使用spark-submit时,所有成功完成的作业都会在之后留下大量的历史记录。当作业失败时,所有日志似乎都丢失了。从历史链接中,可以看到
应用程序application_1444757668999_0004未找到。
在应用程序链接的中,您看到了日志链接,但是它们指向
. lang。异常:未知容器。容器没有启动,或者已经完成,或者根本不属于这个节点。
我唯一的线索是在nohup。出去了,因为我在nohup下运行了spark-submit。该日志指示执行程序开始死亡
ERROR YarnScheduler: Lost executor 4
我怎么能让纱线留下完整的日志,以便我可以调试?
Spark submit提交的是一个申请而不是一个作业。您可能在YARN中检查应用程序历史。在应用程序启动失败的情况下,您自然不会看到任何历史记录。
您可以尝试在客户端模式下提交,这样Spark作业就会在同一个集群中,但是Spark驱动程序将驻留在本地,您可以访问日志以检查启动失败的原因。
如果一个特定的spark作业在一个应用程序中失败,应用程序提交不应该显示任何错误,并且您将能够在YARN UI中看到所有应用程序信息。