web-dev-qa-db-ja.com

ロギングを有効にしても、糸アプリケーションにログがないのはなぜですか?

XMLファイルyarn-site.xmlでログを有効にし、次のようにしてyarnを再起動しました。

Sudo service hadoop-yarn-resourcemanager restart
Sudo service hadoop-yarn-nodemanager restart

アプリケーションを実行すると、yarn application -listapplicationIDが表示されます。だから、私はこれを行います:yarn logs -applicationId <application ID>、そして私は以下を取得します:

hdfs://<ip address>/var/log/hadoop-yarn/path/to/application/  does not have any log files

他の構成を変更する必要がありますか?または、ログに間違った方法でアクセスしていますか?

ありがとうございました。

10
Sother
yarn application -list

[〜#〜] submitted [〜#〜]のいずれかにあるアプリケーションのみを一覧表示します、[〜#〜]受け入れられます[〜#〜]または[〜#〜]実行中[〜#〜]状態。

ログの集約では、各コンテナーのログを収集し、アプリケーションの完了後にのみ、これらのログをyarn.nodemanager.remote-app-log-dirで構成されたディレクトリに移動します。 yarn.log-aggregation-enableプロパティ ここ の説明を参照してください。

したがって、コマンドによってリストされたapplicationIdはまだ完了しておらず、ログはまだ収集されていません。したがって、実行中のアプリケーションのログにアクセスしようとしたときの応答

hdfs://<ip address>/var/log/hadoop-yarn/path/to/application/  does not have any log files

アプリケーションが完了したら、同じコマンドyarn logs -applicationId <application ID>を試行してログを表示できます。

すべての[〜#〜]終了[〜#〜]アプリケーションをリストするには、

yarn application -list -appStates FINISHED

または、すべてのアプリケーションを一覧表示する

yarn application -list -appStates ALL
9
franklinsijo

Hadoopのバージョン2.3.2以降では、yarn-site.xmlで次の構成を使用して、実行中のジョブで1時間ごとにログの集計を行うことができます。

<property>
    <name>yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds</name>
    <value>3600</value>
</property>

詳細については、こちらをご覧ください: https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.2/bk_yarn_resource_mgt/content/ref-375ff479-e530-46d8-9f96-8b52dadb5183.1.html

2

ログ集約を有効にする

ログ集計はyarn-site.xmlファイルで有効になっています。 yarn.log-aggregation-enableプロパティは、実行中のアプリケーションのログ集約を有効にします。

<property>
 <name>yarn.log-aggregation-enable</name>
 <value>true</value>
</property>
2
Ani Menon

おそらく別のappOwnerで保存されました。コマンドでアプリケーションの所有者を指定することができます:

ヤーンログ-appOwner .. -application_id ..

1
ML_TN