糸のSparkのログはどこにありますか?
-
26-12-2019 - |
質問
私はスパークに新しいです。これで、yarn(2.0.0-cdh4.2.1)でspark0.9.1を実行できます。しかし、実行後にログはありません。
次のコマンドは、sparkの例を実行するために使用されます。ただし、通常のMapReduceジョブのように、履歴サーバーにはログが見つかりません。
SPARK_JAR=./assembly/target/scala-2.10/spark-assembly-0.9.1-hadoop2.0.0-cdh4.2.1.jar \
./bin/spark-class org.apache.spark.deploy.yarn.Client --jar ./spark-example-1.0.0.jar \
--class SimpleApp --args yarn-standalone --num-workers 3 --master-memory 1g \
--worker-memory 1g --worker-cores 1
どこでlogs/stderr/stdoutを見つけることができますか?
設定を設定する場所はありますか?私はコンソールからの出力を見つけました:
14/04/14 18:51:52:ApplicationMasterのコマンド:$JAVA_HOME/bin/java-server-Xmx640M-Djava.io.tmpdir=$PWD/tmp org.アパッチスパーク展開します。糸。アプリケーションマスター--クラスSimpleApp--jar。/spark-example-1.0.0.jar--args'yarn-standalone'--worker-memory1024--worker-cores1--num-worker3 1> <LOG_DIR>/標準出力2> <LOG_DIR>/stderr
この行では、注意してください 1> $LOG_DIR/stdout 2> $LOG_DIR/stderr
LOG_DIRはどこに設定できますか?
他のヒント
次のコマンドを使用してログにアクセスできます
yarn logs -applicationId <application ID> [OPTIONS]
一般的なオプションは次のとおりです:
appOwner <Application Owner>
-AppOwner(指定されていない場合は現在のユーザーとみなされます)containerId <Container ID>
-ContainerId(ノードの場合は指定する必要があります アドレスが指定されています)nodeAddress <Node Address>
-形式のNodeAddressnodename:port
(コンテナidが指定されている場合は指定する必要があります)
例:
yarn logs -applicationId application_1414530900704_0003
yarn logs -applicationId application_1414530900704_0003 myuserid
// the user ids are different
yarn logs -applicationId <appid> --appOwner <userid>
答えのどれも、ログを探すために(それらが部分的にしているが)それを一緒に置いているので、それをクリスタルクリアすることはありません。
ログアグリゲーションがオンの場合(yarn.log-glaggation-enable yarn-site.xmlを使用すると)、この
を実行します。yarn logs -applicationId <app ID>
.
しかし、これがオンになっていない場合は、データノードマシンに移動して
を調べる必要があります。$HADOOP_HOME/logs/userlogs/application_1474886780074_XXXX/
.
Application_1474886780074_XXXXはアプリケーションID
です。ログに記録:
/var/log/hadoop-yarn/containers/[application id]/[container id]/stdout
.
ログは、スパークジョブが実行されているすべてのノードにあります。