运行pig noclassdeffounderror

pftdvrlh  于 2021-06-21  发布在  Pig
关注(0)|答案(1)|浏览(277)

我试图让Pig在我的机器上运行,但每当我试图启动Pig我得到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/mapred/JobConf
at org.apache.pig.Main.run(Main.java:642)
at org.apache.pig.Main.main(Main.java:156)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)

每次我跑的时候都会这样 pig 或者当我尝试执行应该有效的脚本时。
我不完全确定发生了什么,但看起来我可能没有正确地包含一些hadoop jar。有没有人见过类似的问题或知道如何包括所需的jar?
作为参考,我使用的是apache pig版本0.12.0-cdh5.4.9和hadoop 2.6.0-cdh5.4.9,我设置了以下环境变量:

PIG_HOME=/Users/username/cdh5/pig-0.12.0-cdh5.4.9
PIG_CLASSPATH=/etc/hadoop/conf:/Users/username/cdh5/hadoop-2.6.0-cdh5.4.9/*:/Users/username/cdh5/hadoop-2.6.0-cdh5.4.9/lib/*

我是否需要找到hadoopjar并将它们添加到我的路径中,或者是否有其他需要检查的内容。

g0czyy6m

g0czyy6m1#

这最终是因为我把cdh\U mr2\U设置得不正确,所以Pig找不到它需要的jar。

相关问题