您可以通过设置几个参数并运行ResourceManager守护进程和NodeManager守护进程,以伪分布模式在YARN上运行MapReduce作业。
在基于伪分布式的基础上,格式化完HDFS系统之后,配置参数如下:
1.配置YARN的环境
$ vi etc/hadoop/yarn-env.sh
将这句适当修改为自己的Java路径
export JAVA_HOME=/usr/java/jdk1.8.0_144
2.配置Mapreduce基于YARN运行
$ vi etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
configuration>
3.配置YARN的核心配置文件
$ vi etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
<property>
<name>yarn.resourcemanager.hostnamename>
<value>sunyuqiang.comvalue>
property>
configuration>
yarn.resourcemanager.hostname为resourcemanager主机地址,单节点可以不配置这个,配置的话要填与当前计算机IP绑定的域名,localhost或者127.0.0.1楼主没试过。
4.配置Mapreduce的环境
$ vi etc/hadoop/mapred-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_144
5.配置主从(master/slaves)主机地址
主节点:
$ vi etc/hadoop/master
内容:
sunyuqiang.com
从节点:
$ vi etc/hadoop/slaves
内容:
sunyuqiang.com
6.启动ResourceManager守护进程和NodeManager守护进程:
$ sbin/start-yarn.sh
查看相关进程是否启动:jps,如果能看到ResourceManager,NodeManager,就说明启动正常。
浏览ResourceManager的Web界面;
http://localhost:8088/ 默认的
http://sunyuqiang.com:8088/ 绑定域名的
7.运行Mapreduce作业
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar wordcount /user/root/mapreduce/wordcount/input /user/root/mapreduce/wordcount/ output
查看结果:
$ bin/hadoop dfs -text /user/root/mapredurce/wordcount/output/*
8.运行完成后,关闭守护进程
$ sbin/stop-yarn.sh
补充:
YARN系统的历史服务器(HistoryServer)启动
$ sbin/mr-jobhistory-daemon.sh start historyserver
jps查看进程是否启动
YARN系统的聚集日志(Aggregation Log)配置与启动
1.配置YARN的核心配置文件
$ vi etc/hadoop/yarn-site.xml
添加内容:
<property>
<name>yarn.log-aggregation-enablename>
<value>truevalue>
property>
<property>
<name>yarn.log-aggregation.retain-secondsname>
<value>604800value>
property>
2.重启YARN以及历史服务器
YARN系统的垃圾回收
配置YARN的核心配置文件
$ vi etc/hadoop/yarn-site.xml
添加内容:
<property>
<name>fs.trash.intervalname>
<value>604800value>
property>