一:找不到内部类的问题
java.lang.ClassNotFoundException:com.test.WordCount$TokenizerMapperat org.apache.hadoop.conf.Configuration.getClass(Configuration.java:809)
at org.apache.hadoop.mapreduce.JobContext.getMapperClass(JobContext.java:157)
如果你在 conf.set("mapred.job.tracker","000.000.000.000:9001");
这里改成 conf.set("fs.default.name","hdfs://000.000.000.000"9000"); 就不会产生错误内部类的问题了。。。
二:错误现象: WARN mapred.LocalJobRunner: job_local_0001
三:
四:运行期间出现这个错误
错误信息很明显了,at
网上查到这是由于0.20.203.0以后的版本的权限认证引起的,只有去掉才行
修改hadoop源代码,去除权限认证,修改FileUtil.java的checkReturnValue方法
(具体做法:在hadoop中找到源码 hadoop/src/core/fs 文件夹导入eclipse 工程下。找到 FileUtil.java类,找到 checkReturnValue方法 屏蔽掉有关于这个方法和这个方法的所有调用)保存即可。