1. ホーム
  2. Hadoop

コンテナがゼロ以外の終了コード1で終了しました。エラーファイル: prelaunch.err.org.apache.hadoop.mapreduce.

2022-02-27 06:42:38

HADOOP 3.2.1, HA の新バージョンをインストールした後、wordcount プログラムで次のエラーが発生しました。

For more detailed output, check the application tracking page: http://hadoop102:8088/cluster/app/application_1590917926429_0002 Then click on links to logs of each attempt.
. Failing the application.
2020-05-31 17:44:08,998 INFO org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImpl: application_1590917926429_0002 State change from FINAL_SAVING to FAILED on event = APP_UPDATE_SAVED
2020-05-31 17:44:08,998 WARN org.apache.hadoop.yarn.server.resourcemanager.RMAuditLogger: USER=deploy OPERATION=Application Finished - Failed TARGET=RMAppManager RESULT=FAILURE DESCRIPTION=App failed with state: FAILED PERMISSIONS=Application application_1590917926429_0002 failed 2 times due to AM Container for appattempt_1590917926429_0002_000002 exited with exitCode: 1
Failing this attempt.Diagnostics: [2020-05-31 17:44:08.952]Exception from container-launch.
Container id: container_e31_1590917926429_0002_02_000001
Exit code: 1

[2020-05-31 17:44:08.959]Container exited with a non-zero exit code 1. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
Last 4096 bytes of stderr :
log4j:WARN No appenders could be found for logger (org.apache.hadoop.mapreduce.v2.app.MRAppMaster).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.


[2020-05-31 17:44:08.961]Container exited with a non-zero exit code 1. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
Last 4096 bytes of stderr :
log4j:WARN No appenders could be found for logger (org.apache.hadoop.mapreduce.v2.app.MRAppMaster).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

 新バージョンの問題かと思い、Webで検索してみたのですが、どれもしっくりきません。一番多かったのは、yarn-site.xmlを修正して、以下の設定を追加することでした。

<property>
        <name>yarn.application.classpath</name>
        <value>$HADOOP_CONF_DIR,$HADOOP_COMMON_HOME/share/hadoop/common/*,$HADOOP_COMMON_HOME/share/hadoop/common/lib/*,$HADOOP_HDFS _HOME/share/hadoop/hdfs/*,$HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*,$HADOOP_YARN_HOME/share/hadoop/yarn/*,$HADOOP_YARN_HOME/share/ hadoop/yarn/lib/*,$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*,$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>

何度も試してみたが、有用なものがなかったL、おそらく異なるエラー

その後、バージョンをHADOOP-2.10.0に切り替え、同じエラーでテストし、最新版とは関係ないと結論づけることができ、さらに答えを探し続けました。

最後にこのブログ記事を見つけました。 https://blog.csdn.net/danielchan2518/article/details/85887597

究極の解決策は、yarn-site.xmlを変更し、次の設定を追加することです。

<! --new-version-specification-file-->
    <property>
        <name>yarn.resourcemanager.webapp.address.rm1</name>
        <value>hadoop102</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address.rm2</name>
        <value>hadoop103</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address.rm2</name>
        <value>hadoop103</value>
    </property>

yarn,hdfsを再起動し、再度テスト、完了。