hadoop - oozie中如何指定多个jar文件

标签 hadoop mapreduce oozie

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

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

最佳答案

在存储 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了解更多详情

关于hadoop - oozie中如何指定多个jar文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12720610/

相关文章:

hadoop - 运行 WordCount v1.0 示例时 part-00000 中没有输出

mysql - 使用 Hadoop 作为 MySQL 存储引擎?

hadoop - 如何通过 Spark 流和 Apache Flume 将 Kafka 主题加载到 HDFS

hadoop - 如何从Hive Query获取Map Reduce代码?

apache-spark - oozie 工作流触发特定队列上的启 Action 业

hadoop - 如何解决 Oozie 错误 : JA009: Cannot initialize Cluster. 检查 mapreduce.framework.name 的配置

Hadoop 2.7.1 - 映射减少错误 : Diagnostics: Exception from container-launch

hadoop - 如何避免 Hadoop 中的 Map/Reduce 任务失败

java - 如何从字符串中删除换行符和空行

hadoop - 用户首先提供的Oozie装载 jar