2016-12-21 4 views
2

〜10ノードのaws emrクラスタでMap-Reduce-Jobを実行しています。 (emr 4.7.11、m3.xlarge)ディスクがいっぱいになったためにAWS EMRクラスタが失敗する

ジョブが実行されている間、ワーカーノードは約4時間後に1つずつ消滅し始めます。ワーカーノードに

"1/3 local-dirs are bad: /mnt/yarn; 1/1 log-dirs are bad: /var/log/hadoop-yarn/containers"

ディスクノードが失敗したときに使用される96%であった:ログに 私は次のエラーを発見しました。 ノードのディスクが100%になっていて、ディスクにファイルを書き込めないと仮定します。

私は各インスタンスに500GBのEBSボリュームを添付しようとしました。ただし、Hadoopは/mntのみを使用し、追加のボリューム(/mnt2)は使用しません。

/mnt2を使用するようにAWS EMRクラスターを設定するにはどうすればよいですか? 設定ファイルを使用しようとしましたが、クラスタはブートストラップのエラーOn the master instance (i-id), bootstrap action 6 returned a non-zeroで失敗します。クラスタが起動時に失敗した理由を

[ 
    { 
    "Classification": "core-site", 
    "Properties": { 
     "hadoop.tmp.dir": "/mnt2/var/lib/hadoop/tmp" 
    } 
    }, 
    { 
    "Classification": "mapred-site", 
    "Properties": { 
     "mapred.local.dir": "/mnt2/var/lib/hadoop/mapred" 
    } 
    } 
] 

誰でもヒントがあります: 残念ながらS3バケット

設定ファイルのブートストラップアクション6ログがあるのですか? また、m3.xlargeインスタンスの初期EBSボリュームを増やす別の方法がありますか?

https://forums.aws.amazon.com/thread.jspa?threadID=225588 その後、コア/タスクノードが不健康とYARNによって使用不可能とマークされます、同じ問題のように見えますが、ディスクは、(のようには/ mnt /)が90%を超えた場合は解

答えて

0

はありません。あなたは(あなたが準備してクラスタをしながら)EMR APIでEBSボリュームを添付した場合 今yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage

http://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-common/yarn-default.xml でを参照してください、そして、EMRは、自動的に特定のプロパティのためにこれらのボリュームを使用して行います。たとえば、mapred.local.dirはすべてのマウントを使用します。しかし、(hadoop.tmp.dir、yarn.nodemanager.log-dirs)のようないくつかのプロパティは、すべてのマウントを使用するわけではありません。このようなプロパティの場合、カンマディレクトリパスを値として追加し、設定APIを使用して設定するか、必要なファイルを手動で編集する必要があります。

<property> 
    <name>mapred.local.dir</name> 
    <value>/mnt/mapred,/mnt1/mapred</value> 
    </property> 

    <property> 
    <name>hadoop.tmp.dir</name> 
    <value>/mnt/var/lib/hadoop/tmp</value> 
    </property> 
関連する問題