web-dev-qa-db-ja.com

AMコンテナが原因でアプリケーションが2回失敗しました:exitCodeで終了しました:1

Hadoop-2.7.0でmapreduceジョブを実行しましたが、mapreduceジョブを開始できず、次のエラーに直面しました。

Job job_1491779488590_0002 failed with state FAILED due to: Application application_1491779488590_0002 failed 2 times due to AM Container for appattempt_1491779488590_0002_000002 exited with  exitCode: 1
For more detailed output, check application tracking page:http://erfan:8088/cluster/app/application_1491779488590_0002Then, click on links to logs of each attempt.
Diagnostics: Exception from container-launch.
Container id: container_1491779488590_0002_02_000001
Exit code: 1
Stack trace: ExitCodeException exitCode=1: 
    at org.Apache.hadoop.util.Shell.runCommand(Shell.Java:545)
    at org.Apache.hadoop.util.Shell.run(Shell.Java:456)
    at org.Apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.Java:722)
    at org.Apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.Java:211)
    at org.Apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.Java:302)
    at org.Apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.Java:82)
    at Java.util.concurrent.FutureTask.run(FutureTask.Java:262)
    at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1145)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:615)
    at Java.lang.Thread.run(Thread.Java:745)


Container exited with a non-zero exit code 1
Failing this attempt. Failing the application.
17/04/10 13:40:08 INFO mapreduce.Job: Counters: 0

このエラーの理由は何ですか?この問題を解決するにはどうすればよいですか?

任意の助けに感謝します。

15
Erfan Farhangy

リソースマネージャーでログを確認します。

namenodeip:8088

このエラーが発生しました: enter image description here

ターミナルを開いて、実際の問題を確認します。

yarn logs -applicationId <APP_ID>

例:APP_ID = application_1535002188113_0001

私の場合、許可の問題を示しています:

だから私はそれを与えた:

   Sudo -u hdfs hadoop fs -chmod 775 /user/history
   
   or
   
   Sudo -u hdfs hadoop fs -chmod 777 /user/history
4
Hmnt Jangir

実際の問題のアプリケーションログを確認できます。

このためには、namenode_ip:50070でnamenode Webインターフェースを開くことができます
参照オプションが表示されたら、それをクリックします。
サブメニューで、ログを選択します。
次に、ユーザーログを選択します。

ここでは、実行したアプリケーションのリストを見ることができます。

内部で上記のジョブのリンクapplication_1491779488590_0002を開くと、各マップと削減タスクのログを確認できます。 map/reduce job logリンクを開きます。

内部には、sys、error、stdoutファイルが表示されます。これらのログファイルから、実際のエラーを取得して修正できます。

または、$HADOOP_HOME/logs/userlogs/application_idパスにこれらのログが表示されます。

アプリケーションマスターが何らかの理由で失敗した場合、デフォルトではアプリケーションをもう一度実行しようとするため、アプリケーションは2回失敗しました。これを回避するには、AM再試行プロパティを1に設定します。

4
Rahul

Yarn-site.xmlファイルを変更して、次のコードを追加できます(ps:%HADOOP_HOME%:は環境変数です):

 <property>
       <name>yarn.application.classpath</name>
       <value>
            %HADOOP_HOME%\etc\hadoop,
            %HADOOP_HOME%\share\hadoop\common\*,
            %HADOOP_HOME%\share\hadoop\common\lib\*,
            %HADOOP_HOME%\share\hadoop\hdfs\*,
            %HADOOP_HOME%\share\hadoop\hdfs\lib\*,
            %HADOOP_HOME%\share\hadoop\mapreduce\*,
            %HADOOP_HOME%\share\hadoop\mapreduce\lib\*,
            %HADOOP_HOME%\share\hadoop\yarn\*,
            %HADOOP_HOME%\share\hadoop\yarn\lib\*
       </value>
    </property>
  • それは私のために働いた:)
0
basma