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
在这里插入图片描述
上一篇: Spark集群完全分布式安装部署
下一篇: Hadoop 2.7分布式集群环境搭建