Hadoop详解(七):YARYN完全分布式环境搭建
1. 前言
本文搭建了一个由三节点(master、slave1、slave2)构成的Hadoop完全分布式集群,并通过Hadoop分布式计算的一个示例测试集群的正确性。本文将搭建一个支持Yarn的完全分布式环境
2. Hadoop MapReduce架构
Hadoop MapReduce使用的是主从架构体系
主JobTracker:ResourceManager
复杂调度分配每一个任务Task运行与TaskTracker之上,如果发现有失败的task就重新分配其任务到其他节点之上。每一个hadoop集群只有一个jobTracker,一般它运行在Master节点上
从TaskTracker:NodeManager
TaskTracker主动和JobTracker通信,接受作业,并负责直接执行每一个任务,为了减少网络带宽TaskTracker最好运行在HDFS的DataNode之上。
3. Hadoop YARN环境搭建
3.1 Hadoop的masetr节点配置
需要配置hadoop的配置文件mapred-site.xml yarn-site.xml
$cd ~/hadoop/etc/hadoop
$vim mapred-site.xml其他文件相同,以下为配置文件内容:
mapred-site.xml
<configuration>
<!-- 通知框架MR使用YARN -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- jobhistory配置 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>node91:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node91:19888</value>
</property>
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>/history/done</value>
</property>
<property>
<name>mapreudce.jobhistory.intermediate.done-dir</name>
<value>/history/done/done_intermediate</value>
</property>
</configuration>
yarn-site.xml
其中包括配置Hadoop Yarn JobHistory
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node91</value>
</property>
<!-- reducer取数据的方式是mapreduce_shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>node91:18089</value>
<description>RM对外暴露的web http地址,用户可通过该地址在浏览器中查看集群信息</description>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>1024</value>
</property>
</configuration>
4. 启动和关闭Hadoop Yarn
4.1 启动
启动Hadoop Yarn
start-yarn.sh
启动Hadoop Yarn JobHistory
mr-jobhistory-daemon.sh start historyserver
启动 Hadoop ResourceManager进程
yarn-daemon.sh start resourcemanager
启动 Hadoop nodemanager进程
yarn-daemon.sh start nodemanager
4.2 关闭
关闭Hadoop Yarn
stop-yarn.sh
关闭Hadoop Yarn JobHistory
mr-jobhistory-daemon.sh stop historyserver
关闭 Hadoop ResourceManager进程
yarn-daemon.sh stop resourcemanager
关闭 Hadoop nodemanager进程
yarn-daemon.sh stop nodemanager