Hadoop笔记——Yarn的部署与MapReduce程序测试

文章目录

    • 一、Yarn介绍
    • 二、Yarn的配置与启动
        • (1)Yarn集群配置
        • (2)Yarn集群的启动
    • 三、MapReduce程序配置与测试
        • (1)MapReduce简介
        • (2)MapReduce的配置
        • (3)测试MapReduce程序
    • 四、Yarn的监控

一、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集群,如果没有,可以先看:Hadoop集群安装与部署

(1)Yarn集群配置

  • etc/hadoop/yarn-site.xml
<!-- Reducer获取数据的方式 -->

	yarn.nodemanager.aux-services</name>
	mapreduce_shuffle</value>
</property>

<!-- 指定YARN的ResourceManager的地址 -->

	yarn.resourcemanager.hostname</name>
	Hadoop02</value>
</property>

<!-- 下面两个可有可无,建议加上日志的配置 -->
<!-- 开启日志聚集功能 -->

	yarn.log-aggregation-enable</name>
	true</value>
</property>
<!-- 日志保留时间设置7天 -->

	yarn.log-aggregation.retain-seconds</name>
	604800</value>
</property>
  • etc/hadoop/yarn-env.sh
export JAVA_HOME=JAVA_HOME绝对路径

然后使用xsync脚本分发修改后的配置文件

(2)Yarn集群的启动

在配置了etc/hadoop/slaves的前提下,通过群起集群在ResouceManager所在的主机上启动YARN:

  $ sbin/start-yarn.sh

三、MapReduce程序配置与测试


(1)MapReduce简介

MapReduce是Hadoop自带的一个分布式计算框架,适合做离线计算和批处理,可以运行在Yarn集群上。

(2)MapReduce的配置

  • etc/hadoop/mapred-site.xml
  $ cp mapred-site.xml.template mapred-site.xml
<!-- 指定MR运行在Yarn上 -->

	mapreduce.framework.name</name>
	yarn</value>
</property>

<!-- 下面两个可有可无,建议加上历史服务器的配置 -->
<!-- 历史服务器端地址 -->

	mapreduce.jobhistory.address</name>
	Hadoop01:10020</value>
</property>
<!-- 历史服务器web端地址 -->

    mapreduce.jobhistory.webapp.address</name>
    Hadoop01:19888</value>
</property>
  • etc/hadoop/mapred-env.sh
export JAVA_HOME=JAVA_HOME绝对路径

然后使用xsync脚本分发修改后的配置文件

(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

你可能感兴趣的:(Hadoop,hadoop,mapreduce,大数据)