1、需把hadoop.dll 和 winutils.exe 放到hadoop的bin目录下,我的是:E:\Hadoop\hadoop-2.4.0\bin
2、且需要配置HADOOP_HOME 和 PATH 路径。我的如下:
HADOOP_HOME——E:\Hadoop\hadoop-2.4.0
PATH——.;%HADOOP_HOME%\bin;
以上两个注意项可以解决运行wordcount报空指针异常的错误。
3、需在工程src目录下新建一个log4j.properties文件,不然会有log4j警告提示,如下:
log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
且不方便查找出错信息(非常重要),log4j.properties 文件内容如下:
log4j.rootLogger=debug,stdout,R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p - %m%n log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=mapreduce_test.log log4j.appender.R.MaxFileSize=1MB log4j.appender.R.MaxBackupIndex=1 log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n log4j.logger.com.codefutures=DEBUG
4、配置了log4j后,我会出现一个提示说没有权限写入HDFS的错误,原因是在Hadoop location 那里的username我默认的是Administrator,而HDFS上我新建的目录权限是root,所以我用chown命令把该目录及子目录都改成了Administrator权限,此时就可以正常运行wordcount了。
本文出自 “大白菜” 博客,请务必保留此出处http://dreamylights.blog.51cto.com/1163218/1591617