当块大小为 512MB 时,可以为 mapreduce 程序提供多少大小的输入文件夹

How much size of input folder can be given to the mapreduce program when the block size is 512MB

我正在使用 4GB RAM.I 在 hdfs-site.xml 中分配了 512MB 的块大小,并且我正在使用 CombineFileSplit 输入格式,其最大拆分大小为 536870912 字节(512MB)。那么有多少输入文件夹的大小我可以将它提供给 mapreduce 程序,以便它 运行 顺利进行而不会出现任何内存不足异常。

谁能就这个问题提出建议...

发生内存不足错误的原因有多种。不可能提供不会导致内存不足错误的输入大小。 你最好开始使用你的 mapreduce 程序,如果你遇到任何内存不足的错误,那么有人可以帮助解决它。

HTH

容器数量取决于块大小的数量。如果你有 512 MB 块大小的 2 GB 数据,Yarn 会创建 4 个映射和 1 个 reduce。 运行 mapreduce 我们应该遵循一些规则来提交mapreduce 作业。(这应该适用于小型集群)

您应该根据您的 RAM DISK 和 CORES 配置以下 属性。

<property>
    <description>The minimum allocation for every container request at the RM,
    in MBs. Memory requests lower than this won't take effect,
    and the specified value will get allocated at minimum.</description>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>512</value>
  </property>

  <property>
    <description>The maximum allocation for every container request at the RM,
    in MBs. Memory requests higher than this won't take effect,
    and will get capped to this value.</description>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>2048</value>
  </property>


 <property>
  <name>yarn.nodemanager.resource.memory-mb</name>
  <value>2048</value>
 </property>

并根据内存资源设置 Java 堆大小。 一旦在 yarn-site.xml 中确保上述 属性 根据 mapreduce 将有效地成功。