MapReduce
Map 映射函数
Reduce 规约函数
Map 映射函数
Reduce 规约函数
在hadoop1.x MR1中(计算+资源作业调度)分为
JobTracker
TaskTracker: map task reduce task
JobTracker
TaskTracker: map task reduce task
在hadoop2.x MR2中 计算 资源作业调度-->YARN(资源管理和作业调度放到了yarn平台)
1.不需要部署组件
2.架构设计(面试题)
--》MR JOB提交到yarn的工作流程--》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
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个容器,数量是多了,并行度大了
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之中。