2

いつか検索したところ、hadoop2 + yarn を使用する MapReduce クラスターには、次の数の同時マップがあり、ノードごとに削減されることがわかりました。

並行マップ # = yarn.nodemanager.resource.memory-mb / mapreduce.map.memory.mb 並行リデュース # = yarn.nodemanager.resource.memory-mb / mapreduce.reduce.memory.mb

ただし、次の構成で 10 台のマシンを含むクラスターをセットアップしました。

'yarn_site' => {
  'yarn.nodemanager.resource.cpu-vcores' => '32',
  'yarn.nodemanager.resource.memory-mb' => '16793',
  'yarn.scheduler.minimum-allocation-mb' => '532',
  'yarn.nodemanager.vmem-pmem-ratio' => '5',
  'yarn.nodemanager.pmem-check-enabled' => 'false'
},
'mapred_site' => {
  'mapreduce.map.memory.mb' => '4669',
  'mapreduce.reduce.memory.mb' => '4915',
  'mapreduce.map.java.opts' => '-Xmx4669m',
  'mapreduce.reduce.java.opts' => '-Xmx4915m'
}

ただし、クラスターがセットアップされた後、hadoop はクラスター全体に対して 6 つのコンテナーを許可します。私は何を忘れていますか?私は何を間違っていますか?

4

1 に答える 1

1

これがあなたが抱えている問題と同じかどうかはわかりませんが、同様の問題がありました.コアインスタンスグループで c3.8xlarge の 20 ノードの EMR クラスターを起動し、同様に、ジョブ (私の特定のクラスターの YARN と MapReduce のメモリ/仮想コア構成は、500 を超えるコンテナーを同時に実行できることを示していますが、クラスター全体で 30 のマッパーのみが同時に実行されていました)。AMI 3.5.0 で Hadoop 2.4.0 を使用していました。

インスタンス グループが何らかの理由で重要であることが判明しました。タスク インスタンス グループに 20 個のノードがあり、コア ノードが 1 つしかないクラスターを再起動すると、大きな違いが生じました。500 以上のマッパーを同時に実行しました (私の場合、マッパーは主に S3 からファイルをダウンロードしていたため、HDFS は必要ありません)。

どちらも同じようにタスクを実行できることを考えると、異なるインスタンス グループ タイプが違いを生む理由はわかりませんが、明らかにそれらの処理は異なります。

私は自分でこの問題に遭遇し、別のグループタイプを使用することが助けになったので、ここで言及したいと思いました.

于 2015-03-20T18:01:30.700 に答える