【问题标题】:how RAM is used in mapreduce processing?在 mapreduce 处理中如何使用 RAM?
【发布时间】:2017-09-18 18:04:02
【问题描述】:

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

【问题讨论】:

    标签: hadoop mapreduce bigdata


    【解决方案1】:

    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 慢的主要原因。

    希望这能解决您的问题

    【讨论】:

      【解决方案2】:
      1. 您在问题中提到了集群,我们不会将单个服务器或机器称为集群
      2. 守护进程(进程)不会分布在硬盘上,它们会利用 RAM 运行
      3. 关于缓存看这个answer

      【讨论】:

        【解决方案3】:

        RAM 用于处理 Map Reduce 应用程序。

        一旦数据通过 InputSplits(从 HDFS 块)读取到内存 (RAM) 中,就会对存储在 RAM 中的数据进行处理。

        ma​​preduce.map.memory.mb = 为每个映射任务从调度程序请求的内存量。

        ma​​preduce.reduce.memory.mb = 每个reduce任务从调度器请求的内存量。

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

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

        相关的 SE 问题:

        Mapreduce execution in a hadoop cluster

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-02-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多