1

私はEMRでトリガーされた仕事をしています。マスターはマッパーをトリガーします。それが完了すると、重い操作がメモリにロードされ、最終的にはダンプされます。現在、クラスターで実行されているジョブは、ヒープ領域が不足しているため、数分後に失敗します。デフォルトでは、マスターに約 1000m を設定します

以下の正確なアクションを試みましたが、うまくいきませんでした。プログラムはまだ1000mに設定されています

--bootstrap-action s3://elasticmapreduce/bootstrap-actions/configure-hadoop --args -s,mapred.child.java.opts=Xmx4000m

4

1 に答える 1

1

namenode のヒープサイズを設定するために EMR によって提供される特定の方法があります。クラスターの起動中に次のブートストラップコマンドを使用します。

--bootstrap-action s3://elasticmapreduce/bootstrap-actions/configure-daemons --args --namenode-heap-size=4096

また、代わりに構成ファイルを使用してみてください。XML 構成ファイルを作成し、s3 にアップロードします。

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
      <name>mapred.child.java.opts</name>
      <value>-Xmx4096m</value>
  </property>
</configuration>

次のブートストラップ アクションでクラスターを起動します。

--bootstrap-action s3://elasticmapreduce/bootstrap-actions/configure-hadoop --args "--mapred-config-file, s3:///custom-heap-size.xml"

于 2013-08-06T18:36:20.987 に答える