作者:亲爱one | 来源:互联网 | 2023-09-07 13:58
1.分布式计算编程与传统计算编程框架的区别?
答:
2.MapReduce概述
答:.MapReduce是一个将复杂的、运行与大规模集群上的并行计算过程抽象成两个函数map和reduce,采用分而治之的策略,将一个存储在分布式文件系统中的大规模数据集,会被切分成许多独立的分片,这些分片可以被多个map任务处理,设计理念就是以计算想数据靠拢。架构采用master/slave,一个master和若干slave,master上运行jobTracker(ResourceManger),salve上运行TaskTracker(nodemager)。上面可以用多种语言来编写程序。
3.block块和切片的关系
答:
4.client
答:
①用户可以编写MapReduce程序通过Client提交到JobTracker端
②用户可以通过client提供的一些接口查看作业的运行状态
5. JobTracker
答:
①JobTracker负责资源监控和作业调度
②JobTracker监控所有TaskTracker与job的健康状况,一旦发现失败,就将相应的任务转移到其他节点
③JobTracker会跟踪任务的执行进度、资源使用量等信息,并将这些信息告诉任务调度器(TaskScheduler),而调度器会在资源出现空闲时,选择合适的任务去使用这些资源。
6.TaskTracker
答:
①TaskTracker会周期性地通过“心跳”将本节点上资源的使用情况和任务的运行进度汇报给JobTracker,同时接受JobTracker发送过来的命令,并执行相应的操作(如启动新任务、杀死任务等)。
②TaskTrac,使用“slot”等量划分节点上的,一个task获取到一个slot后才有机会运行,而hadoop调度器的作用就是将各个tasktracker上空闲slot分配给task,slot分为map slot和reduce slot两种,分别为供map task 和reduce task使用。
8.Task
答:分为map task 和reduce task两种,均有tasktracker启动。
9.split
答:MapReduce的处理单元是split,为逻辑概念,它只包含一些元数据信息,比如数据起始位置、数据长度、数据节点等,它的划分完全有用户自己决定。