我需要一个针对以下问题的解决方案:我的项目有两个jars,其中
一个jar包含所有的bean类,如Employee等,另一个jar包含MR作业,它使用第一个jar bean类,所以当我尝试将MR作业作为一个简单的java程序运行时,我面临着找不到类的问题(com.abc.Employee类找不到,因为它在另一个jar中),所以谁能给我提供如何解决这个问题的解决方案……因为在实时情况下,可能会有很多jars,不是1或2,如何指定所有这些jars可以任何人尽快回复。
发布于 2012-10-04 18:38:35
在存储Oozie工作流的HDFS目录中应该有一个lib文件夹。您可以将这两个jar文件都放在这个文件夹中,oozie将确保在执行MR作业时这两个文件都在类路径中:
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有关详细信息,请参阅Workflow Application Deployment
如果您经常在许多oozie工作流中使用jars,则可以将这些常见的jars (例如,HBase jars )放在HDFS中的一个目录中,然后在oozie属性中指定以包括此文件夹的jars。有关详细信息,请参阅HDFS Share Libraries
https://stackoverflow.com/questions/12720610
复制相似问题