导读:最近做了一个Spark小任务,在client模式下运行没问题,但是换了cluster模式就会出现一些第三方包找不到的问题。这是由于集群只在堡垒机中放了大部分的资源和jar包,而其他的如数据节点等节点中缺少这些包,因此需要将这些jar包也动态传到数据节点。如何使项目能够获取上传到hdfs的第三方依赖,这就需要了解spark任务提交后,第三方依赖包以及spark程序、环境配置等资源都到了哪里,然后又经过了那些环节。通过调试和总结,本文来进一步梳理spark任务提交后,这些资源jar包等都到了哪里,怎么被运行。
作者:小舰 中国人民大学计算机硕士
来源:DLab数据实验室(ID:rucdlab)
spark任务提交后,主要分为三个阶段,下面来详细说明。
总结
通过这篇文章,我们应该又多了一个spark任务运行调试小技巧,就是可以去相应的hdfs目录来查看该目录下的资源、配置以及依赖包是否齐全,然后进一步分析程序运行的一些异常。
例如下面这样,我们可以发现这个application没有提交第三方jar包,只是提交了spark的配置文件。