错误:未找到 org.apache.oozie.action.hadoop.PigMain

Posted

技术标签:

【中文标题】错误:未找到 org.apache.oozie.action.hadoop.PigMain【英文标题】:ERROR : org.apache.oozie.action.hadoop.PigMain not found 【发布时间】:2015-08-11 10:41:29 【问题描述】:

我正在尝试通过 oozie 工作流执行一个简单的 pig 脚本,该工作流导入一个 python jar 以及其他一些 jar,最终得到如下错误:

Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.PigMain], exception invoking main(), java.lang.ClassNotFoundException: Class org.apache.oozie.action.hadoop.PigMain not found
java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.oozie.action.hadoop.PigMain not found
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1895)
at org.apache.oozie.action.hadoop.LauncherMapper.map(LauncherMapper.java:224)
at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:430)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
Caused by: java.lang.ClassNotFoundException: Class org.apache.oozie.action.hadoop.PigMain not found
at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1801)
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1893)
... 9 more

Oozie Launcher failed, finishing Hadoop job gracefully

对于这个工作流程,我在 lib 目录中添加了所有 jar,包括 pig.jar

【问题讨论】:

【参考方案1】:

请检查 Pig Jar 是否存在于运行 Oozie 工作流的节点的物理位置。

您也可以将Pig jar放在Oozie Shared Lib的hadoop位置,并传递参数

oozie.use.system.libpath = true

这些将从共享库位置读取 jar

【讨论】:

我使用 CDH 5.x 和 Cloudera Manager,如何确保此 jar 文件位于正确的位置? jar 名称是什么,它需要放在哪里?谢谢。

以上是关于错误:未找到 org.apache.oozie.action.hadoop.PigMain的主要内容,如果未能解决你的问题,请参考以下文章

致命错误:未捕获的错误:未找到类“用户名”

ADODB.Connection 错误 '800a0e7a',未找到提供程序。该程序可能未正确安装

XCode 未找到 Firebase v2.1.2(未找到框架错误)

VB编译运行后出现“运行时错误“76” 未找到路径” 。为啥?

如何解决“未找到 Oracle 客户端和网络组件...”的错误

运行时错误:未找到 InverseBooleanConverter