Hadoop笔记——Yarn的部署与MapReduce程序测试
一、Yarn介绍
Yarn(Apache Hadoop YARN)是Hadoop的一部分,负责Hadoop集群的资源调度。事实上,Yarn本身也是一个集群,它主要包括4个部分:
-
ResourceManager(RM):RM是一个全局的资源管理器,负责整个系统的资源管理和分配。 ApplicationMaster(AM):用户提交的每个应用程序均包含一个AM,负责向RM申请资源(Container),并分配给对应的应用程序。 NodeManager(NM):NM是集群每个主机节点上的资源和任务管理器。 Container:Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。
二、Yarn的配置与启动
前提:配置好了HDFS集群,如果没有,可以先看:
(1)Yarn集群配置
<!-- Reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 指定YARN的ResourceManager的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>Hadoop02</value> </property> <!-- 下面两个可有可无,建议加上日志的配置 --> <!-- 开启日志聚集功能 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 日志保留时间设置7天 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property>
-
etc/hadoop/yarn-env.sh
export JAVA_HOME=JAVA_HOME绝对路径
然后使用脚本分发修改后的配置文件
(2)Yarn集群的启动
在配置了etc/hadoop/slaves的前提下,通过群起集群在ResouceManager所在的主机上启动YARN:
$ sbin/start-yarn.sh
三、MapReduce程序配置与测试
(1)MapReduce简介
MapReduce是Hadoop自带的一个分布式计算框架,适合做离线计算和批处理,可以运行在Yarn集群上。
(2)MapReduce的配置
$ cp mapred-site.xml.template mapred-site.xml
<!-- 指定MR运行在Yarn上 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <!-- 下面两个可有可无,建议加上历史服务器的配置 --> <!-- 历史服务器端地址 --> <property> <name>mapreduce.jobhistory.address</name> <value>Hadoop01:10020</value> </property> <!-- 历史服务器web端地址 --> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>Hadoop01:19888</value> </property>
-
etc/hadoop/mapred-env.sh
export JAVA_HOME=JAVA_HOME绝对路径
然后使用脚本分发修改后的配置文件
(3)测试MapReduce程序
-
如果配置了历史服务器,则先在历史服务器所在主机,启动历史服务器:
$ sbin/mr-jobhistory-daemon.sh start historyserver
-
测试官方WordCount案例:
$ hdfs dfs -mkdir -p /user/Bessen/input $ hdfs dfs -put wcinput/wc.input /user/Bessen/input/ $ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar wordcount /user/Bessen/input /user/Bessen/output $ hdfs dfs -cat /user/Bessen/output/*
四、Yarn的监控
Yarn web:http://RM主机地址:8088/cluster 历史服务器日志:http://历史服务器主机地址:19888/jobhistory
上一篇:
JS实现多线程数据分片下载