该示例如何在 Oozie 最佳情况下找到库?

How does the example find the lib in Oozie best case?

根据Oozie 的文档,我尝试运行 Oozie 上的map-reduce 示例。众所周知,'workflow.xml'(和'coordinator.xml')应该在HDFS中。

然后输入命令:oozie job -oozie http://localhost:11000/oozie -config examples/apps/map-reduce/job.properties -run。而且我也知道 'job.properties' 应该在本地文件系统中。

但是有两件事让我感到困惑:

1.why workflow.xml 中的jar 或class 变量来自HDFS 的lib 目录?

2.There是一张展示oozie-examples-4.3.1.jar内容的图片。这个jar在HDFS里,怎么导入lib?

请原谅我糟糕的英语。

突出显示的红色框是 Hadoop 和 Java 默认类路径的一部分。作为 MapReduce 的一部分,YARN 中任何 运行 的 Java 代码都可以访问 运行 hadoop classpath 命令时出现的包。顺便说一句,Hadoop的mapred.* 类几乎都被弃用了

据说这与 Oozie 无关,但 Oozie 使用 Oozie ShareLib 扩展了 Hadoop 类路径,必须使用 属性 文件参数

显式启用
oozie.use.system.libpath=true

并且除了该类路径之外,Oozie 会将 ${wf.application.path}/lib 目录发送到所有 运行ning 作业