先保证集群5台虚拟机,
nn1 | nn2 | s1 | s2 | s3 | |
---|---|---|---|---|---|
hadoop | 是 | 是 | 是 | 是 | 是 |
zookeeper | 是 | 是 | 是 | ||
namenode | 是 | 是 | |||
jouralnode | 是 | 是 | |||
datanode | 是 | 是 | 是 |
1.然后启动yarn在nn1机器上:
[hadoop@nn1 hadoop]$ start-yarn.sh
然后查看各节点信息
2.配置yarn的HA高可用
高可用就是好几台机器,一台突然挂掉了,其他机器就补上去,刚刚只启动了nn1作为yarn服务器,只有一台,所以这里要在nn2也开一台,来做简单的高可用
###############在nn2控制台操作####################
[hadoop@nn2 ~]$ yarn-daemon.sh start resourcemanager
如图查看jps
这里相比第一张图,在nn2多了一个resourceManager
##########查看状态############
[hadoop@nn1 hadoop_base_op]$ yarn rmadmin -getServiceState rm1
active
[hadoop@nn1 hadoop_base_op]$ yarn rmadmin -getServiceState rm2
standby
打开网页查看http://192.168.10.6:8088/cluster
出现hadoop页面就是成功了,这时候因为nn1是active状态,所以你输入http://192.168.10.7:8088/cluster的话,或自动跳转到active机器,也就是自动跳转到nn1的ip上。
启动成功
来,跑个任务试试
用这个集群进行简单的wordcount任务
创建两个文件
vim abc1
aa bbb abc
aa aa
aa bb
aa cc aa
vim abc2
张三 张 三
张
三 张
把这两个文件上传到hadoop的hdfs上
[hadoop@nn1 ~]$ hadoop fs -mkdir -p /user/hadoop/abc/input
[hadoop@nn1 ~]$ hadoop fs -put ./abc* /user/hadoop/abc/input
查看网页端:
扔到MR里执行下
[hadoop@nn1 ~]$ hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /user/hadoop/abc/input /user/hadoop/abc/output
查看网页端的状态展示:
然后我们去hadoop那里查看结果文件
[hadoop@nn1 ~]$ hadoop fs -cat /user/hadoop/abc/output/part-r-00000
大功告成!!!