11ノードのクラスターでEMRジョブを実行しているとします。m1.smallマスターノードと10m1.xlargeスレーブノードです。
これで、1つのm1.xlargeノードに15GBのRAMが搭載されました。
次に、設定できる並列マッパーとレデューサーの数を決定するにはどうすればよいですか?
私の仕事はメモリを大量に消費するため、JVMにさらに多くのヒープを割り当てたいと考えています。
別の関連する質問:次のパラメーターを設定した場合:
<property><name>mapred.child.java.opts</name><value>-Xmx4096m</value></property>
<property><name>mapred.job.reuse.jvm.num.tasks</name><value>1</value></property>
<property><name>mapred.tasktracker.map.tasks.maximum</name><value>2</value></property>
<property><name>mapred.tasktracker.reduce.tasks.maximum</name><value>2</value></property>
では、この4GBは4つのプロセス(2つのマッパーと2つのレデューサー)で共有されるのでしょうか、それともすべてがそれぞれ4GBを取得するのでしょうか。