2016-11-16 94 views
0

我在运行MapReduce WordCount作业时出现一些错误。FAILED错误:java.io.IOException:所有收集器的初始化失败

Error: java.io.IOException: Initialization of all the collectors failed. Error in last collector was :class wordcount.wordmapper at org.apache.hadoop.mapred.MapTask.createSortingCollector(MapTask.java:414) at org.apache.hadoop.mapred.MapTask.access$100(MapTask.java:81) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) atorg.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693)at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) Caused by: java.lang.ClassCastException: class wordcount.wordmapperat java.lang.Class.asSubclass(Class.java:3165)at org.apache.hadoop.mapred.JobConf.getOutputKeyComparator(JobConf.java:892) at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.init(MapTask.java:1005) at org.apache.hadoop.mapred.MapTask.createSortingCollector(MapTask.java:402)

+1

分享你的wordcount code –

回答

0

运行mapredue作业时发生同样的事情。请导入正确的Text类。

如果导入下面的进口,你会得到错误:

import com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider.Text; 

它改变了这一点。

import org.apache.hadoop.io.Text; 
0

你的类必须有一个默认的构造函数,如果你定义了任何参数的构造函数的默认构造函数自动被删除。你应该明确地定义这个构造函数。你能显示你的代码片段吗?

Class SampleClass 
{ 
    int a; 
    public SampleClass(int param) 
    { 
    a = param; 
    } 

    public SampleClass() 
    { 
    } 
} 
相关问题