पर यार्न क्लस्टर कॉन्फ़िगरेशन जोड़ें I spark-submit
का उपयोग करने के बजाय मैं स्कैला एसबीटी एप्लिकेशन में यार्न पर स्पार्क का उपयोग करने की कोशिश कर रहा हूं।स्पार्क एप्लिकेशन
मेरे पास पहले से ही एक रिमोट यार्न क्लस्टर चल रहा है और मैं स्पार्कआर में यार्न क्लस्टर रन स्पार्क नौकरियों से कनेक्ट कर सकता हूं। लेकिन जब मैं स्कैला एप्लिकेशन में समान काम करने की कोशिश करता हूं तो यह मेरे पर्यावरण चर को यार्न कॉन्फ़िगरेशन में लोड नहीं कर सकता है और इसके बजाय डिफ़ॉल्ट यार्न पता और पोर्ट का उपयोग कर सकता है।
एसबीटी आवेदन सिर्फ एक सरल वस्तु है:
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 विचार में इस एप्लिकेशन को चलाने लॉग कहते हैं:
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
है रिमोट यार्न रिसोर्स मैनेजर नोड का आईपी नहीं है और मेरा spark-env.sh
है:
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>
कैसे मैं सही ढंग से इस एसबीटी स्पार्क आवेदन करने के लिए यार्न क्लस्टर विन्यास का वातावरण चर जोड़ सकते हैं?
अतिरिक्त जानकारी:
मेरे प्रणाली 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")
धन्यवाद देते हैं, मैं करने के लिए इस उम्मीद नहीं थी इतना बोझिल हो। क्या आपने मेसोस पर स्पार्क का उपयोग करने का भी प्रयास किया है? क्या यह आसान होगा क्योंकि हम मेसॉस मास्टर एड्रेस पोर्ट को स्पष्ट रूप से स्पार्क प्रदान करते हैं? – Bamqf
क्षमा करें, Mesos पर जांच करने का मौका नहीं मिला है –