報錯信息詳細:
Error: java.io.IOException: Initialization of all the collectors failed. Error in last collector was:java.lang.ClassCastException:
class com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$Text at org.apache.hadoop.mapred.MapTask.createSortingCollector(MapTask.java:423) at org.apache.hadoop.mapred.MapTask.access$100(MapTask.java:82) at org.apache.hadoop.mapred.MapTask$NewOutputCollector.<init>(MapTask.java:710) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:782) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:347) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:174) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:168
仔細看以下這個信息: java.lang.ClassCastException:class com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$Text
ClassCastException:類轉換異常,查找了自己寫的代碼,果然在Runner類里發現了導入的包錯了。
修改成hadoop下的包:import org.apache.hadoop.io.Text;
修改完成后成功執行