3

我需要解决以下问题:我的项目有两个罐子,其中

一个 jar 包含所有 bean 类,如 Employee 等,另一个 jar 包含使用第一个 jar bean 类的 MR 作业,因此当我尝试将 MR 作业作为简单的 java 程序运行时,我面临找不到类的问题(com. abc.Employee 类未找到,因为它在另一个 jar 中)所以任何人都可以为我提供如何解决问题的解决方案....因为实时可能有很多 jars 不是 1 或 2 如何指定所有这些 jars 可以任何人请尽快回复。

4

1 回答 1

4

您应该lib在 HDFS 目录中有一个文件夹,用于存储 Oozie 工作流。您可以将两个 jar 文件放在此文件夹中,当您的 MR 作业执行时,oozie 将确保两者都在类路径中:

hdfs://namenode:8020/path/to/oozie/app/workflow.xml
hdfs://namenode:8020/path/to/oozie/app/lib/first.jar
hdfs://namenode:8020/path/to/oozie/app/lib/second.jar

有关更多详细信息,请参阅工作流应用程序部署

如果您经常在多个 oozie 工作流中使用 jars,您可以将这些常用 jars(例如 HBase jars)放在 HDFS 中的一个目录中,然后在 oozie 属性中表示以包含该文件夹的 jars更多详细信息请参阅HDFS 共享库

于 2012-10-04T10:38:35.497 回答