Yarn简单分布式集群搭建

Yarn简单分布式集群搭建

前言

上篇文章介绍了如何搭建简单分布式的HDFS集群,那么HDFS说到底仅仅是一个文件系统,Hadoop另一个核心模块MapReduce(计算框架或编程模型)就是对HDFS中存储的数据进行计算,既然要进行运算就必须要有CPU和内存,那么对于MapReduce的计算如何给它分配CPU和内存呢?这就需要一个统一资源调度器来对来对hadoop集群中的资源进行统一调度。因此Hadoop中由引入了Yarn,来完成资源调度任务。

一、MapReduce工作原理

MapReduce是一个计算框架或者编程模型,它由两部分组成:Map进行数据切分后的局部运算,Reduce进行Map局部计算完成后的整合运算,示意图如下
在这里插入图片描述
由上面MapReduce工作示意图就能发现一个问题,如何给各个Map运算分配适当CPU和内存是一个关键问题,正常来说对于Map处理任务多的节点,应该分配更多的内存和CPU,那么在Hadoop中这一调度由谁管理呢?此时Yarn出现了,它就是对资源进行统一调度分配的,来保证资源的合理充分运用。

二、Yarn工作原理

Yarn由两部分组成ResourceManager+NodeManager:
ResourceManager整合hadoop集群的资源(CPU和内存),进行统一调度,它并不做实际的计算,仅仅是用于整合集群资源,然后分配给NodeManager,由NodeManage进行实际的运算。
这与HDFS的模式类似,NameNode不做实际的数据存储,它仅仅存储数据的元数据信息(如何切块,切了几块,每块数据在哪个节点等等),DataNode进行实际的数据存储。由上面的解释可以明白,充当DataNode节点的机器肯定也充当NodeManager。

Yarn集群和HDFS集群进行共同工作,HDFS集群存储数据,Yarn集群调度资源进行计算,两者共同工作示意图如下
在这里插入图片描述

三、Yarn集群搭建

Yarn集群搭建很简单,与上篇博文搭建HDFS集群的唯一不同之处就是多修改两个配置文件maped-site.xml和yarn-site.xml即可,其余就是按照搭建HDFS集群操作

1、集群搭建部署规划

准备三台机器
hadoop3(192.168.23.133):NameNode & DataNode & NodeManager
hadoop4(192.168.23.134):DataNode & NodeManager & ResourceManager
hadoop5(192.168.23.135):DataNode & NodeManager

2、与HDFS集群搭建相比多修改两个配置文件

1、修改yarn-site.xml配置文件
<!--固定写法-->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <!--指定哪台机器为ResourceManager-->
  <property>
    <description>The hostname of the RM.</description>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop4</value>
  </property>
2、修改mapred-site.xml配置文件

mapred-site.xml配置文件在hadoop/etc目录下的名称是mapred-site.xml.template,因此我们需要首先将mapred-site.xml.template文件名修改为mapred-site.xml或者拷贝一份mapred-site.xml.template到mapred-site.xml中,我选择拷贝。

cp /root/hadoop/hadoop-2.9.2/etc/hadoop/mapred-site.xml.template  /root/hadoop/hadoop-2.9.2/etc/hadoop/mapred-site.xml

修改mapred-site.xml配置文件

 <property>
    <description>The hostname of the RM.</description>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>

3、启动HDFS集群和Yarn集群

可以在任一机器节点上启动HDFS集群

start-dfs.sh

Yarn集群必须在ResourceManager所在节点启动

start-yarn.sh

下图表明已经部署完成我们的规划
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、HDFS集群和Yarn集群的可视化

HDFS集群的可视化是NameNode所在节点机器的IP地址加端口号:50070
在这里插入图片描述
Yarn集群的可视化是ResourceManager所在节点机器的IP地址加端口号:8088
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_34720818/article/details/106966178