hadoop的 IncompatibleClassChangeError

開發環境中,使用的是官方版的hadoop 1.0.1版,而集羣上的hadoop則是cloudera的hadoop 2.0版,之前兼容性還不錯,直到使用了Counter。

報錯如下:
FATAL org.apache.hadoop.mapred.Child: Error running child : java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.Counter, but class was expected


其實從2.0開始,org.apache.hadoop.mapreduce.Counter從1.0版本的class改爲interface。網上搜索時,看到也有不少人遇到類似問題,解決辦法應該都是一樣的,就是替換成2.0版本的jar就行,包括common、hdfs、mapreduce文件夾下的相應包。
發佈了62 篇原創文章 · 獲贊 1 · 訪問量 7323
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章