初学大数据之—Apache Hadoop-分析(MapReduce)

Hadoop— MapReduce

概述

MapReduce是一个 Hadoop 的并行计算框架,借鉴了函数式编 程思想和矢量编程。Hadoop 中是充分利用了存储节点/Data Node运行所在主机的计算资源(CPU、内存、网络、少许磁 盘)完成对任务的并行计算。Map Reduce框架会在所有的 DataNode所在的物理主机启动一个计算资源管理者Node Manager用于管理本地的计算资源,默认系统会将计算资源均 分8个等份,每个等份抽象成一个Container,该Container主要 作为资源隔离。还会再找一些其他的主机启动一个资源管理中 心Resource Manager,用于管理集群的计算资源。

流程分析

当用户提交一个计算任务给MapReduce框架,框架会将任务拆 分成Map阶段和Reduce阶段(矢量编程思想将任务拆分成两个 阶段),框架会根据Map/Reduce阶段的任务并行度.在任务提 交初期会启动一个任务管理者(每个任务都有自己的任务管理 者)-MRAppMaster(该进程会浪费掉1个计算资源)用于管理 Map阶段和Reduce阶段任务执行。在任务执行时期,每个阶段 会根据阶段任务的并行度分配计算资源(每个计算资源启动一 个Yarn Child),由MRAppMaster完成对阶段任务的检测管理。

在这里插入图片描述

  • ResourceManager:负责任务资源的统一调度,管理 NodeManager资源,启动MRAppMaster
  • NodeManager :用于管理本机上的计算资源,默认会将本机的 计算资源拆分为8个等份,每个等份抽象成Container
  • MRAppMaster :任何一个执行的任务都会有一个MRAppMaster 负责YarnChild任务的执行和监测。
  • YarnChild :是具体执行的MapTask或者是ReduceTask的统称。
  • 任务执行期间系统会启动MRAppmaster和YarnChild负责任务的 执行,一旦任务执行结束MRAppMaster和YarnChild会自动退 出。

**** :
环境搭建

  1. 配置资源管理器
[root@CentOS ~]# vi /usr/hadoop- 2.9.2/etc/hadoop/yarn-site.xml 
<!--配置MapReduce计算框架的核心实现Shuffle-洗牌-->
 <property>
  	<name>yarn.nodemanager.aux-services</name> 		 		
  	<value>mapreduce_shuffle</value> 
 </property>
  <!--配置资源管理器所在的目标主机-->
 <property>
 		<name>yarn.resourcemanager.hostname</name>
   		<value>CentOS</value>
</property> 
<!--关闭物理内存检查--> 
<property> 
	<name>yarn.nodemanager.pmem-check- enabled</name> 		
	<value>false</value> 
</property> 
<!--关闭虚拟内存检查--> 
<property> 
	<name>yarn.nodemanager.vmem-check- enabled</name> 
	<value>false</value> 
</property>

2.配置MapReduce计算框架

[root@CentOS ~]# mv /usr/hadoop- 2.9.2/etc/hadoop/mapred-site.xml.template /usr/hadoop-2.9.2/etc/hadoop/mapred-site.xml 
#修改mapred-site.xmltemplate文件
[root@CentOS ~]# vi /usr/hadoop- 2.9.2/etc/hadoop/mapred-site.xml 
<!--MapRedcue框架资源管理器的实现--> 
<property>
	<name>mapreduce.framework.name</name> 
	<value>yarn</value> 
</property>
  1. 启动计算服务
[root@CentOS ~]# start-yarn.sh 
starting yarn daemons 
starting resourcemanager, 
logging to /usr/hadoop- 2.9.2/logs/yarn-root-resourcemanager-CentOS.out CentOS: starting nodemanager, 
logging to /usr/hadoop-2.9.2/logs/yarn-root-nodemanager- 
CentOS.out 
[root@CentOS ~]# jps 
13078 SecondaryNameNode 
12824 DataNode 
1080 ResourceManager 
12681 NameNode 
1195 NodeManager 
1262 Jps

4.可以访问ResourManager内嵌WebUI页面:http://CentOS:8088
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值