我试图了解将 MR(就此而言,基于 Java 的 Spark)作业提交到 YARN 集群的正确方法是什么。
考虑以下情况:
使用客户端机器开发代码(MR 或 Spark)作业,并说代码使用第 3 方 jar。现在,当开发人员必须将作业提交到 YARN 集群时,将作业提交到集群的正确方法是什么,这样就不会出现未找到类的运行时异常。由于作业是作为 jar 文件提交的,开发人员如何“放置”第 3 方 jar?
我很难理解这一点,谁能帮助我理解这一点?
最佳答案
您必须使用 Gradle 或 Maven 简单地构建一个“ fat jar 子”,它不仅包含您编译的代码,还包含所有传递依赖项。
您可以使用 Maven Assembly Plugin或任何 Gradle 插件,如 Shadow Plugin .
这些的输出是您应该提供给 spark-submit
的内容。
关于hadoop - 将作业提交到 YARN 集群的正确方法,其中作业依赖于外部 jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43309749/