MapReduce架构设计

MapReduce
Map    映射函数
Reduce 规约函数
在hadoop1.x MR1中(计算+资源作业调度)分为
JobTracker
TaskTracker: map task  reduce task

在hadoop2.x MR2中 计算  资源作业调度-->YARN(资源管理和作业调度放到了yarn平台)
1.不需要部署组件
2.架构设计(面试题)
--》MR JOB提交到yarn的工作流程--》Yarn的架构设计、Yarn的工作流程

3.架构设计
Container: 容器的意思,属于Yarn的组件 将一定的内存1G cpu 1core等资源抽象成一个小房间,用于运行任务。
假如机器的物理配置为64G 16CORES:  * 一般来说使用75-85%的资源,剩余一部分用于机器的基本工作。
Yarn拿到的资源: 64*0.8   16*0.8
Container:
yarn.nodemanager.resource.memory-mb:64*0.8G≈50G
yarn.scheduler.minimum-allocation-mb: 1G
yarn.scheduler.maximum-allocation-mb: 1G   50/1=50 假如设定最大使用1G,则有50个容器,数量是多了,并行度大了 
优缺点:一个作业200 MapTask 4轮结束,速度快了  作业可能挂了
yarn.scheduler.maximum-allocation-mb: 16G   50/16≈3 假如设定最大使用16G,则有3个容器,数量是少了,并行度小了 
优缺点:一个作业200 MapTask 70轮才能结束,速度慢了  作业时间长

yarn.nodemanager.resource.memory-mb
yarn.scheduler.minimum-allocation-mb        1024     默认值1g
yarn.scheduler.maximum-allocation-mb        8192    默认最大8g
yarn.scheduler.minimum-allocation-vcores 1        
yarn.scheduler.maximum-allocation-vcores 4
虚拟core 1:2 =32 vcore(16*2)

注:mapping 和 reducing之间有个shuffling做为过渡,也可把shuffling归于reducing之中。

猜你喜欢

转载自blog.csdn.net/qq_37408712/article/details/80964428
今日推荐