将作业提交到YARN集群的正确方法,其中作业依赖于外部jar?

时间:2017-04-09 17:30:15

标签: hadoop apache-spark yarn hadoop2

我试图了解向YARN集群提交MR(就此而言基于Spark的Java)作业的正确方法是什么。

考虑以下情况:

使用客户端机器开发代码(MR或Spark)作业,并说代码使用第三方jar。现在,当开发人员必须将作业提交到YARN群集时,将作业提交到群集的正确方法是什么,以便没有找到类的运行时异常。由于作业是以jar文件的形式提交的,因此开发人员如何能够将其作为"第三方罐子?

我很难理解这一点,任何人都可以帮助我理解这一点吗?

1 个答案:

答案 0 :(得分:2)

你必须简单地建造一个"胖罐,"使用Gradle或Maven,它不仅包含已编译的代码,还包含所有传递依赖项。

您可以使用Maven Assembly Plugin或任何Gradle插件,例如Shadow Plugin

这些输出应该提供给spark-submit