2017-01-05 5 views
0

distcpジョブの実行次の問題が発生しました。 ほとんどすべてのマップタスクは成功とマークされていますが、Containerが終了しました。マップジョブのログが言うオンラインインターフェースで Hadoopのdistcpジョブが成功しましたが、ApplicationMasterによってtry_xxxが殺されました

: 進歩は100.00 状態が

を成功したが、ノートの下で、それはほとんどすべての試み(〜200)ApplicationMasterによって殺さ コンテナに述べています。 ApplicationMasterによってコンテナが強制終了されました。コンテナはリクエストにより殺されました。終了コードは143

試行に関連付けられたログファイルには、「試行_xxxxxxxxx_0」というタスクが完了したというログが表示されます。

すべてのジョブ/試行でstderr出力が空です。

アプリケーションマスターログを見て、私は次のログを見つけることに成功し(しかし殺さ)の試行のいずれかを以下のとき:

2017-01-05 10:27:22,772 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskImpl: Task succeeded with attempt attempt_1483370705805_4012_m_000000_0 
2017-01-05 10:27:22,773 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskImpl: task_1483370705805_4012_m_000000 Task Transitioned from RUNNING to SUCCEEDED 
2017-01-05 10:27:22,775 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl: Num completed Tasks: 1 
2017-01-05 10:27:22,775 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl: job_1483370705805_4012Job Transitioned from RUNNING to COMMITTING 
2017-01-05 10:27:22,776 INFO [CommitterEvent Processor #1] org.apache.hadoop.mapreduce.v2.app.commit.CommitterEventHandler: Processing the event EventType: JOB_COMMIT 
2017-01-05 10:27:23,118 INFO [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: Before Scheduling: PendingReds:0 ScheduledMaps:0 ScheduledReds:0 AssignedMaps:1 AssignedReds:0 CompletedMaps:1 CompletedReds:0 ContAlloc:1 ContRel:0 HostLocal:0 RackLocal:0 
2017-01-05 10:27:24,125 INFO [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: Received completed container container_e116_1483370705805_4012_01_000002 
2017-01-05 10:27:24,126 INFO [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: After Scheduling: PendingReds:0 ScheduledMaps:0 ScheduledReds:0 AssignedMaps:0 AssignedReds:0 CompletedMaps:1 CompletedReds:0 ContAlloc:1 ContRel:0 HostLocal:0 RackLocal:0 
2017-01-05 10:27:24,126 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl: Diagnostics report from attempt_1483370705805_4012_m_000000_0: Container killed by the ApplicationMaster. 
Container killed on request. Exit code is 143 
Container exited with a non-zero exit code 143 

私は「偽= mapreduce.map.speculative」に設定しています!

すべてのMAPタスクは成功です(distcpジョブはREDUCEを持っていません)。しかし、MAPREDUCEは長時間(数時間)実行されていて、distcpジョブが完了します。

私はこのことについて心配するべき私は=のHadoop 2.5.0-cdh5.3.1

'の糸バージョン' を実行しているのですか?そして、コンテナが殺される原因は何ですか?どんな提案も大歓迎です!

+0

これを確認するhttp://stackoverflow.com/questions/30533501/hadoop-mapper-is-failing-because-of-container-killed-by-applicationmaster – BruceWayne

答えて

0

これらの殺された試行は、投機的な実行によるものかもしれません。この場合、心配することはありません。

hadoop distcp -Dmapreduce.map.speculative=false ... 

あなたはそれらの殺害の試みを見て停止する必要があります。このようなあなたのdistcpを実行してみてください、それがそうであることを確認する

+0

私は「mapreduce.map.speculative = false」を設定しています"それでもそしてMAPは完成しましたが、仕事は長い間続いています。 –

+0

speculative = falseに設定した後に、「ApplicationMasterによってコンテナが強制終了されました」というエラーが表示されるかどうかはわかりませんでしたか?マップフェーズが終了すると、distcpは引き続きパーミッションを変更してチェックサムを比較しなければならないので、すべてのマッパーが終了してもジョブは実行され続けることが普通です。 – facha

+0

あなたの提案をお寄せいただきありがとうございます。新しい条件:2つのネームノードがNNHAstatsを相互に変換すると、MAPは完了しました。 –

関連する問題