【发布时间】:2017-09-18 18:04:02
【问题描述】:
需要澄清处理,像(namenode,datanode,jobttracker,task tracker)这样的守护进程都位于一个集群中(单节点集群 - 它们分布在硬盘中)。 map reduce 处理中 RAM 或缓存的用途是什么,或者 map reduce 中的各种进程如何访问它?
【问题讨论】:
需要澄清处理,像(namenode,datanode,jobttracker,task tracker)这样的守护进程都位于一个集群中(单节点集群 - 它们分布在硬盘中)。 map reduce 处理中 RAM 或缓存的用途是什么,或者 map reduce 中的各种进程如何访问它?
【问题讨论】:
Job Tracker 和 Task tracker 在 map reduce 1.x 中用于管理集群中的资源,之所以将其删除是因为它不是有效的方法。自 map reduce 2.x 以来,引入了一种称为 YARN 的新机制。您可以访问此链接http://javacrunch.in/Yarn.jsp 以深入了解 YARN 的工作原理。 Hadoop 守护进程使用 ram 来优化作业执行,就像在 map reduce 中一样,RAM 用于在提交新作业时将资源日志保存在内存中,以便资源管理器可以确定如何在集群中分发作业。更重要的是,hadoop map reduce 执行面向磁盘的作业,它使用磁盘执行作业,这是它比 spark 慢的主要原因。
希望这能解决您的问题
【讨论】:
【讨论】:
RAM 用于处理 Map Reduce 应用程序。
一旦数据通过 InputSplits(从 HDFS 块)读取到内存 (RAM) 中,就会对存储在 RAM 中的数据进行处理。
mapreduce.map.memory.mb = 为每个映射任务从调度程序请求的内存量。
mapreduce.reduce.memory.mb = 每个reduce任务从调度器请求的内存量。
以上两个参数的默认值为1024 MB(1 GB)
在 Map Reduce 阶段使用了更多与内存相关的参数。有关更多详细信息,请查看有关 mapreduce-site.xml 的文档页面。
相关的 SE 问题:
【讨论】: