之前整了套hadoop的实验集群,部署过程在这篇博文里做了记录:http://blog.youkuaiyun.com/strangerzz/article/details/45040441。不过那时候还只是4个节点,只开启了hdfs,后来一直没有时间搞。最近项目组刀片机又空出来了几台,正好被我拿来扩充我的小集群,将节点数量扩充到了9台,有了余量多部署一个secondary-namenode,datanode数量也增加到了7台,另外忙里偷闲学习了怎么配置yarn跑mapreduce。
顺便一说,yarn是hadoop2.0之后才有的,手头有本书是hadoop1.x的,网上的资料不少也是hadoop1.x的,都没有yarn的相关资料。
首先在namenode(也就是我这里的hadoop0)上试了一下执行start-yarn.sh,之后执行jps就可以看到ResourceManager进程了,也可以通过web访问hadoop0:8088查看集群的状态。
这时访问web发现节点数为0,但是可以执行hadoop自带的example。比如我在hdfs上建立了/input文件夹,里面放了一些文件
hadoop jar /opt/hadoop/share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.6.0-sources.jar org.apache.hadoop.examples.WordCount /input /output
可以统计hdfs中/input文件夹下的文件的文件中的每个单词出现的次数,并将结果输出到hdfs上的/output文件夹里(如果/output已经存在的话就会失败,所以每次跑的时候要换个输出路径或者把原来的结果删掉)
因为这时候mapred-site.xml中的mapreduce.framework.name属性的值默认为local,也就是在namenode单机执行的。
修改hadoop文件夹中etc/hadoop/mapred-sit