如何在mapreduce处理中使用RAM?

时间:2017-02-06 19:12:31

标签: hadoop mapreduce bigdata

需要澄清处理,守护进程如(namenode,datanode,jobttracker,task tracker)这些都位于集群中(单节点集群 - 它们分布在硬盘中)。 在map reduce处理中RAM或缓存的用途是什么,或者map reduce中的各种进程如何访问它?

3 个答案:

答案 0 :(得分:1)

Job Tracker和Task跟踪器用于管理map reduce 1.x中的群集资源,并且删除它的原因是因为它不是有效的方法。由于map reduce 2.x引入了一种称为YARN的新机制。您可以访问此链接http://javacrunch.in/Yarn.jsp以了解YARN的深入工作。 Hadoop守护程序使用ram优化作业执行,如map中减少RAM用于在提交新作业时将资源日志保留在内存中,以便资源管理器可以识别如何在集群中分配作业。另一个重要的事情是hadoop map减少了performe磁盘导向的作业,它使用磁盘来执行作业,这是一个主要原因,因为它比火花慢。

希望这可以解决您的问题

答案 1 :(得分:1)

  1. 您在问题中提到了群集,我们不会将单个服务器或计算机称为群集
  2. 守护进程(进程)不分布在硬盘上,那些将使用RAM运行
  3. 关于缓存查看此answer

答案 2 :(得分:1)

在Map Reduce应用程序的处理过程中使用

RAM

一旦数据通过 InputSplits (从HDFS块)读入内存(RAM),处理就会发生在存储在RAM中的数据上。

mapreduce.map.memory.mb =每个地图任务从调度程序请求的内存量。

mapreduce.reduce.memory.mb =每个reduce任务从调度程序请求的内存量。

以上两个参数的默认值为 1024 MB (1 GB)

Map Reduce阶段已经使用了一些与内存相关的参数。有关详细信息,请查看有关mapreduce-site.xml的文档页面。

相关的SE问题:

Mapreduce execution in a hadoop cluster