を直接使用する代わりに、scala sbtアプリケーションでspark on yarnを使用しようとしています。SparkアプリケーションにYarnクラスタ構成を追加
私はすでに遠隔糸クラスターを稼働しており、SparkRの糸クラスター実行スパークジョブに接続できます。しかし、スカラアプリケーションで同様のことをしようとすると、環境変数を糸構成にロードせず、代わりにデフォルトの糸番地とポートを使用することができました。
SBTアプリケーションは、単純なオブジェクトです:
object simpleSparkApp {
def main(args: Array[String]): Unit = {
val conf = new SparkConf()
.setAppName("simpleSparkApp")
.setMaster("yarn-client")
.set("SPARK_HOME", "/opt/spark-1.5.1-bin-hadoop2.6")
.set("HADOOP_HOME", "/opt/hadoop-2.6.0")
.set("HADOOP_CONF_DIR", "/opt/hadoop-2.6.0/etc/hadoop")
val sc = new SparkContext(conf)
}
}
私はのIntelliJ IDEAでこのアプリケーションを実行すると、ログは言う:
15/11/15 18:46:05 INFO RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
15/11/15 18:46:06 INFO Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
15/11/15 18:46:07 INFO Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
...
それは0.0.0.0
があるので、環境が正しく追加されていないようです遠隔糸資源管理ノードのIPではなく、私のは、以下を有する:
export JAVA_HOME="/usr/lib/jvm/ibm-java-x86_64-80"
export HADOOP_HOME="/opt/hadoop-2.6.0"
export HADOOP_CONF_DIR="$HADOOP_HOME/etc/hadoop"
export SPARK_MASTER_IP="master"
と私yarn-site.xml
があります
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
どのように私が正しく、このSBTスパークアプリケーションに糸クラスタ構成の環境変数を追加することができますか?
追加情報:
私のシステムはUbuntu14.04で、糸のクラスタに接続することができSparkRコードは次のようになります。
Sys.setenv(HADOOP_HOME = "/opt/hadoop-2.6.0")
Sys.setenv(SPARK_HOME = "/opt/spark-1.4.1-bin-hadoop2.6")
.libPaths(c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"), .libPaths()))
library(SparkR)
sc <- sparkR.init(master = "yarn-client")
引数をhttps://github.com/apache/spark/blob/master/R/pkg/R/client.R からlaunchBackend()を呼び出し、すべての環境が+すでに設定が与えるとき https://github.com/apache/spark/blob/master/R/pkg/R/sparkR.R はありがとう、私はこれを期待していませんでしたとても面倒です。また、mesosのアプリケーションでsparkを使ってみましたか?私たちがmesosマスターアドレスポートを明示的に起動するので、それは簡単でしょうか? – Bamqf
申し訳ありませんが、メゾスをチェックする機会はありませんでした –