问题1:http://localhost:50030
HTTP ERROR: 404
/jobtracker.jsp
RequestURI=/jobtracker.jsp
Powered by Jetty://
解决办法:
buid本地库存后,应该把build目录删除,否则启动脚本会把目录重定向到build目录中,导致web管理页面打不开,启动脚本中,如果有build目录,就将路径转到build下.
问题2、http://localhost:50070
Unable to connect
如下图所示:
解决办法:首次运行,需要对namenode进行格式化:bin/hadoop namenode -format
注意:上面的命令应该是cd 到hadoop文件夹下
解决问题以后出现如下页面:
问题3:hadoop在子节点上没有datanode进程
解决办法:
1.先停止Hadoop,bin/stop-all.sh
2.把hadoop/tmp下所有文件删除
3.重新格式化DFS bin/hadoop namenode -format
4.再重启bin/start-all.sh
5.查看各节点jps,就有DataNode和TaskTracker了
问题4:
Exception in thread "main" org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://localhost:9000/user/wu/in
解决方法:
hadoop处理的文件都是在hdfs中,所以必须把要处理的文件复制到hadoop 某个文件夹中。
下面举例,在in中新建文件夹,把提前做好的wordcount文件复制到hdfs中,最后运行程序
$mkdir input $cd input $echo "hello world">test1.txt $echo "hello hadoop">test2.txt $cd .. $bin/hadoop dfs -put input in $bin/hadoop jar build/hadoop-0.20.2-examples.jar wordcount in out $bin/hadoop dfs -cat out/*
问题5:
Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory out already exists
删除Output文件夹即可解决