Hadoop中的wordcount 程序相当于其他语言的Hello World程序,郁闷的是,这个程序我已好几次运行失败了。
但是今天,在我的努力下,终于把它运行成功了。此处晒图庆祝(刚入门有什么好庆祝的^--^)
咋运行成功的我就不细说了,网上好多文章。这里主要记录一下遇到的坑。
1.启动hadoop的时候,出现starting namenode on [],我用的是伪分布式,所以这个地方中括号里面应该是localhost才对,最后经过查找发现core-site.xml属性配置有问题,属性fs.name.default的值应该为hdfs://localhost:9000 ,我写成了hdfs:localhost:9000,少了双斜杠,加上之后再重新启动,通过jps命令查询,已经成功启动。
2.在运行wordcount程序时,出现异常:
File file:/usr/hadoop/hadoop-2.7.1/usr/hadoop/tmp/nm-local-dir/usercache/root/appcache/application_1478069602662_0002/usr/hadoop/tmp/nm-local-dir/usercache/root does not exist Failing this attempt. Failing the application
大概看着像某个文件或文件夹不存在,于是在网上找相关内容,找了半天也没有找到靠谱的结果。
并且异常信息中的这个路径好像根本就不存在,只是temp这个目录有点熟悉,突然想到core-site.xml中有个属性就是配置temp目录的,重新编辑这个文件,发现hadoop.tmp.dir这个属性的值少了一个/符合,少了这个就意味着找不到这个文件。尝试把路径修改后再运行,就得到了上面 截图中的内容。
两个坑其实都是粗心大意造成的,以后注意。但通过填坑关键还是要不断积累解决问题的经验和方法。
网友评论