今天玩了一下hadoop的MapReduce,中途遇到了几个问题,在此记录一下。

1.一切按照配置完成之后,hadoop namenode format,start-all.sh启动,使用jps查看进程的时候,发现没有NameNode和JobTracker。

   查了一下,有如下几个原因会导致这个问题

 1、启动时没有先格式化;

2、4个配置文件没有配置正确;

3、hostnaame与ip没有绑定;(我是由于绑定错误,所以才出现的问题。ifconfig查看ip,修改/etc/hosts文件

4、ssh免密码登陆没有配置成功;

5、多次格式化hadoop造成的错误;

(其中由多次格式化造成的错误,可以通过删除/usr/local/hadoop/tmp 的hadoop的临时文件,然后重新格式化来解决。)

2.Unsupported major.minor version 52.0。

jdk版本不匹配。我的jar文件是在windows上用的jdk1.8.0_65,而linux用的是1.7的,所以会报这个错误。改成统一版本的jdk就可以了。

注:在jdk官网8u65代表的就是1.8.0_65这个版本,8u121代表的应该是1.8.1_21

3.我的类名为public class WordCount,并且在main中设置了 job.setJarByClass(WordCount.class); 但是我在执行的时候,仍然需要执行类名。不知道是和原因.
hadoop jar org.hs.first.WordCount input ouput (必须为包名+类名)  如果不写org.hs.first.WordCount,会报classnotfound的错误

 

posted on 2017-03-09 16:55  Mr.He多多指教  阅读(367)  评论(0编辑  收藏  举报