如何在不同的工作流中使用fat jar

j2qf4p5b  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(347)

我打算用一个 fat jar 对许多不同的人来说 oozie 通过调用不同的主类。
如果我把它放在每个工作流目录中,一切都会很好:

/user/hue/oozie/workspaces/hue-oozie-1439883696.08/myJobs.jar

但是我不知道我应该把它放在哪里,所以所有的工作流都可以访问它。总是得到一个 java.lang.ClassNotFoundException ,因为奥齐找不到jar。

/user/hue/oozie/workspaces/workflows/jobname/lib/myJobs.jar

看起来很有希望,但似乎也不对。

u2nhd7ah

u2nhd7ah1#

你是否为oozie安装了共享库,我相信你已经通过如下参数启用了共享库
oozie.use.system.libpath=真
在jobs属性中,在hdfs中安装共享库位置并放置jar之后,它将工作。
还有一个选项:检查hadoop类路径确认。如果fatjar本地位置在本地节点中可用,并且需要用相同的本地位置更新类路径,并且需要重新启动hadoop才能生效,那么启动oozie作业,并检查作业控制台所需的jar应该反映在那里。

相关问题