大量のデータを処理する(py)SparkジョブをEMRで実行しようとしています。だから私はこれを行う方法をgoogle'd、と私は--confフラグでspark.yarn.executor.memoryOverhead
パラメータに沿って通過しなければならないことがわかっブーストspark.yarn.executor.memoryOverhead
Reason: Container killed by YARN for exceeding memory limits.
5.5 GB of 5.5 GB physical memory used.
Consider boosting spark.yarn.executor.memoryOverhead.
:現在、私の仕事は、次のエラーメッセージで失敗しています。私はそれをこのようにやっている:
aws emr add-steps\
--cluster-id %s\
--profile EMR\
--region us-west-2\
--steps Name=Spark,Jar=command-runner.jar,\
Args=[\
/usr/lib/spark/bin/spark-submit,\
--deploy-mode,client,\
/home/hadoop/%s,\
--executor-memory,100g,\
--num-executors,3,\
--total-executor-cores,1,\
--conf,'spark.python.worker.memory=1200m',\
--conf,'spark.yarn.executor.memoryOverhead=15300',\
],ActionOnFailure=CONTINUE" % (cluster_id,script_name)\
をしかし、私は、ジョブを再実行するときには、私の記憶は、私は何に..任意のヒントを増加させなかったことを意味5.5 GB of 5.5 GB physical memory used
、と、私に同じエラーメッセージを与え続けます間違っている?
aws emr create-cluster\
--name "Spark"\
--release-label emr-4.7.0\
--applications Name=Spark\
--bootstrap-action Path=s3://emr-code-matgreen/bootstraps/install_python_modules.sh\
--ec2-attributes KeyName=EMR2,InstanceProfile=EMR_EC2_DefaultRole\
--log-uri s3://emr-logs-zerex\
--instance-type r3.xlarge\
--instance-count 4\
--profile EMR\
--service-role EMR_DefaultRole\
--region us-west-2'
ありがとう:
EDIT
は、ここで私が最初にクラスタを作成する方法についての詳細です。
ジョブのログを確認しましたか? –
はい@コーヒー、それはどこからエラーメッセージが出ましたか。いくつかの変数でデータをグループ化し、それを集約するSparkSQL文を実行しようとすると、失敗しています(つまり、「名前でテーブル名から最小値を選択」)。私はここでログのより詳細なセクションをコピーしました:http://pastebin.com/KVrbDkHu –
どのインスタンスを使用していますか? m3.xlarge?私は、 '--total-executor-cores'引数は、Sparkがスタンドアローンモードでのみ使用でき、糸越しには使用できないと思います。 –