pig 0.13错误2998:未处理的内部错误org/apache/hadoop/mapreduce/task/jobcontextimpl

ldioqlga  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(339)

刚刚安装了pig0.13,我正在尝试将它与hadoop1.1.2结合使用(pig文档说明pig 0.13与hadoop 1.1.2兼容。根据pig安装说明,我将$pig\u classpath设置为指向/etc/hadoop,其中定义了core-site.xml、hdfs-site.xml和mapred-site.xml。hadoop集群功能强大,可以很好地处理非pig作业。根据下面的错误描述,我知道pig找不到它要查找的jobcontextimpl类。
基于hadoop1.1.2api文档,我不认为“task”是“mapreduce”包的子包。我尝试过将hadoop-core-1.1.2.jar直接添加到$pig\u classpath,但没有成功(在查看了hadoop-core-1.1.2.jar的内容和hadoop 1.1.2api文档之后,我不认为jobcontextimpl是在pig试图从中加载的包中定义的。如何让pig0.13与hadoop1.1.2一起工作?
=======错误如下=======

14/08/03 14:01:05 INFO pig.ExecTypeProvider: Trying ExecType : LOCAL
14/08/03 14:01:05 INFO pig.ExecTypeProvider: Trying ExecType : MAPREDUCE
14/08/03 14:01:05 INFO pig.ExecTypeProvider: Picked MAPREDUCE as the ExecType
2014-08-03 14:01:05,959 [main] INFO  org.apache.pig.Main - Apache Pig version 0.13.0 (r1606446) compiled Jun 29 2014, 02:27:58
2014-08-03 14:01:05,959 [main] INFO  org.apache.pig.Main - Logging error messages to: /home/hadoop/pig-0.13.0/bin/pig_1407088865958.log
2014-08-03 14:01:06,112 [main] INFO  org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to hadoop file system at: hdfs://master.localdomain:8020/
2014-08-03 14:01:06,388 [main] INFO  org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to map-reduce job tracker at: master.localdomain:8021
2014-08-03 14:01:06,440 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2998: Unhandled internal error. org/apache/hadoop/mapreduce/task/JobContextImpl
Details at logfile: /home/hadoop/pig-0.13.0/bin/pig_1407088865958.log
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.apache.pig.tools.pigstats.PigStatsUtil
    at org.apache.pig.Main.run(Main.java:643)
    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.main(RunJar.java:156)

===pig内容\u 1407088865958.log===

清管器堆放痕迹

ERROR 2998: Unhandled internal error. org/apache/hadoop/mapreduce/task/JobContextImpl
java.lang.NoClassDefFoundError: org/apache/hadoop/mapreduce/task/JobContextImpl
    at org.apache.pig.tools.pigstats.PigStatsUtil.<clinit>(PigStatsUtil.java:68)
    at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:79)
    at org.apache.pig.Main.run(Main.java:510)
    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.main(RunJar.java:156)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.mapreduce.task.JobContextImpl
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 9 more
x6yk4ghg

x6yk4ghg1#

虽然不清楚这对每个人的效果如何,但询问者似乎提到了他是如何解决问题的:
在我寻找帮助的过程中,我看到一些帖子说需要用一个表示版本的参数重新编译它。我看到的参数值是23,24。我不知道这个参数是如何Map到我正在使用的hadoop版本1.1.2的。我黑了bin/pig脚本指向hadoop-core-1.1.2.jar。该脚本要求设置hadoop\u home(已弃用)。

相关问题