2017-10-01 16 views
0

私はemrクラスタで8CPUを持つスレーブノードにr4.2xの3つのインスタンスを使用しています。クラスタで使用可能なコアの数を調べるにはどうすればよいですか?これを決定するコマンド:EMRクラスタのコア数を取得する

grep cores /proc/cpuinfo 

私はCPUごとに1つのコアがあると言います。スパークETLジョブの

は、それがよりよい.Also上記のコマンドを、クラスタ

答えて

1

あなたEMRクラスタ内のコアの数のために利用可能なコアを決定するための正しい方法であるAWSインスタンスまたはCシリーズのRシリーズを使用することです単純に、コア/タスクインスタンスあたりのコアに、使用しているインスタンスタイプのコアを掛けた合計です。だからあなたの場合には、それはなるだろう:

3 instances * 8 cores (per r4.2xlarge) = 24 cores 

私はあなたが/proc/cpuinfoの内容によって混乱していると仮定します。あなたがコアをグロッピングすることなくそれを見ると、複数のプロセッサーが言及されるでしょう。 How to obtain the number of CPUs/cores in Linux from the command line?

この合計CPUは、必ずしもHadoop/Sparkの設定に依存するため、タスクを処理するCPUの数である必要はありません。

インスタンスタイプについて:どのタイプを選択するかは、ワークロードによって異なります。メモリが重い作業負荷の場合(Sparkジョブのような場合が多い)、メモリが重いRファミリのEC2インスタンスは、CPU負荷の高いCファミリインスタンスのインスタンスよりも優れた選択肢でしょう。

+0

spark etlジョブがCPUまたはメモリであるかどうかを判断する最も良い方法は何ですか? – baiduXiu

関連する問題