猪 0.13.0 中的错误 2998
Posted
技术标签:
【中文标题】猪 0.13.0 中的错误 2998【英文标题】:ERROR 2998 in pig 0.13.0 【发布时间】:2017-03-13 14:06:43 【问题描述】:我刚刚安装了 pig。当我运行 pig 时,我会遇到无尽的错误,例如
2017-03-13 17:27:14,262 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2998: Unhandled internal error. Could not initialize class org.apache.pig.tools.pigstats.PigStatsUtil
猪日志代码: Hadoop版本是hadoop0.20.2cdh3u6
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.run(Grunt.java:64)
at org.apache.pig.Main.run(Main.java:542)
at org.apache.pig.Main.main(Main.java:156)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:197)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.mapreduce.task.JobContextImpl
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 9 more
================================================================================
Pig Stack Trace
---------------
ERROR 2998: Unhandled internal error. Could not initialize class org.apache.pig.tools.pigstats.PigStatsUtil
java.lang.NoClassDefFoundError: Could not initialize class org.apache.pig.tools.pigstats.PigStatsUtil
at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:64)
at org.apache.pig.Main.run(Main.java:542)
at org.apache.pig.Main.main(Main.java:156)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:197)
我不明白这是什么意思。
【问题讨论】:
【参考方案1】:java.lang.NoClassDefFoundError 意味着您在启动 pig 作业时缺少类路径上的一些 hadoop 库 可能这个库 https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-mapred/0.22.0 丢失,因为它包含无法加载的类 (org.apache.hadoop.mapreduce.task.JobContextImpl)
【讨论】:
以上是关于猪 0.13.0 中的错误 2998的主要内容,如果未能解决你的问题,请参考以下文章
Pig ERROR 2998:未处理的内部错误(错误名称 MY_CLASS_NAME)