[解決確認] Sparkのインストールにハマる[7]

YARNのクライアントモードで実行が確認できたなら,
[解決確認] Sparkのインストールにハマる[6] - なぜか数学者にはワイン好きが多い
スタンドアロンモードも確認したいです.ローカルモードはどうでもいいです.

$ export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop;export SPARK_JAR=./assembly/target/scala-2.10/spark-assembly-0.9.1-hadoop2.0.0-cdh4.4.0.jar;export=SPARK_YARN_MODE=true; ./bin/spark-class org.apache.spark.deploy.yarn.Client  --jar ./examples/target/scala-2.10/spark-examples-assembly-0.9.1.jar --class org.apache.spark.examples.SparkPi --args yarn-standalone


14/05/12 18:41:36 INFO yarn.Client: Command for the ApplicationMaster: $JAVA_HOME/bin/java -server -Xmx640m  -Djava.io.tmpdir=$PWD/tmp  org.apache.spark.deploy.yarn.Applica
tionMaster --class org.apache.spark.examples.SparkPi --jar ./examples/target/scala-2.10/spark-examples-assembly-0.9.1.jar --args  'yarn-standalone'  --worker-memory 1024 --worker-cores 1 --num-workers 2 1> <LOG_DIR>/stdout 2> <LOG_DIR>/stderr
14/05/12 18:41:36 INFO yarn.Client: Submitting application to ASM
14/05/12 18:41:36 INFO client.YarnClientImpl: Submitted application application_1382610529109_9586 to ResourceManager at resourcemanager/192.168.1.4:8040

(中略)

14/05/12 18:58:53 INFO yarn.Client: Application report from ASM: 
         application identifier: application_1382610529109_9590
         appId: 9590
         clientToken: null
         appDiagnostics: 
         appMasterHost: hadoopdatanode3
         appQueue: default
         appMasterRpcPort: 0
         appStartTime: 1399888719100
         yarnAppState: FINISHED
         distributedFinalState: SUCCEEDED
         appTrackingUrl: 
         appUser: spark

スタンドアロンモードでは,Hadoopのデータノードで完全に実行されるので結果が標準出力にでません.
ドキュメントでも,こう書いています.

# Examine the output (replace $YARN_APP_ID in the following with the "application identifier" output by the previous command)
# (Note: YARN_APP_LOGS_DIR is usually /tmp/logs or $HADOOP_HOME/logs/userlogs depending on the Hadoop version.)
$ cat $YARN_APP_LOGS_DIR/$YARN_APP_ID/container*_000001/stdout
Pi is roughly 3.13794

いや,これじゃ,どのデータノードで実行されたか探すのが大変では...と思ったのですが,Sparkではコンパネでどこのマシンで実行されたか分かりますし,上記のように最初に標準出力にも出るので確認は簡単でした.
hadoopdatanode3に入って,ログを見ました.

$ cat /usr/local/hadoop/logs/userlogs/application_1382610529109_9590/container_1382610529109_9590_01_000001/stdout                                        
Pi is roughly 3.14406

ちゃんと実行されているようです.

ふう.丸3日,Mahoutを使う研究は進みませんでした...ヤバイ.