2017-02-05 11 views
5

मैंने एडब्ल्यूएस में 3 नोड (1 मास्टर, 2 कर्मचारी) Apache Spark क्लस्टर बनाया। मैं मास्टर से क्लस्टर में नौकरियां जमा करने में सक्षम हूं, हालांकि मैं इसे दूरस्थ रूप से काम नहीं कर सकता।रिमोट स्पार्क मास्टर से कनेक्ट - जावा/स्कैला

/* SimpleApp.scala */ 
import org.apache.spark.SparkContext 
import org.apache.spark.SparkContext._ 
import org.apache.spark.SparkConf 

object SimpleApp { 
    def main(args: Array[String]) { 
    val logFile = "/usr/local/spark/README.md" // Should be some file on your system 
    val conf = new SparkConf().setAppName("Simple Application").setMaster("spark://ec2-54-245-111-320.compute-1.amazonaws.com:7077") 
    val sc = new SparkContext(conf) 
    val logData = sc.textFile(logFile, 2).cache() 
    val numAs = logData.filter(line => line.contains("a")).count() 
    val numBs = logData.filter(line => line.contains("b")).count() 
    println(s"Lines with a: $numAs, Lines with b: $numBs") 
    sc.stop() 
    } 
} 

मैं गुरु से देख सकते हैं:

Spark Master at spark://ip-171-13-22-125.ec2.internal:7077 
URL: spark://ip-171-13-22-125.ec2.internal:7077 
REST URL: spark://ip-171-13-22-125.ec2.internal:6066 (cluster mode) 

इसलिए जब मैं अपने स्थानीय मशीन से SimpleApp.scala निष्पादित, यह Spark Master से कनेक्ट करने में विफल रहता है:

2017-02-04 19:59:44,074 INFO [appclient-register-master-threadpool-0] client.StandaloneAppClient$ClientEndpoint (Logging.scala:54) [] - Connecting to master spark://ec2-54-245-111-320.compute-1.amazonaws.com:7077... 
2017-02-04 19:59:44,166 WARN [appclient-register-master-threadpool-0] client.StandaloneAppClient$ClientEndpoint (Logging.scala:87) [] - Failed to connect to spark://ec2-54-245-111-320.compute-1.amazonaws.com:7077 
org.apache.spark.SparkException: Exception thrown in awaitResult 
    at org.apache.spark.rpc.RpcTimeout$$anonfun$1.applyOrElse(RpcTimeout.scala:77) ~[spark-core_2.10-2.0.2.jar:2.0.2] 
    at org.apache.spark.rpc.RpcTimeout$$anonfun$1.applyOrElse(RpcTimeout.scala:75) ~[spark-core_2.10-2.0.2.jar:2.0.2] 
    at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33) ~[scala-library-2.10.0.jar:?] 
    at org.apache.spark.rpc.RpcTimeout$$anonfun$addMessageIfTimeout$1.applyOrElse(RpcTimeout.scala:59) ~[spark-core_2.10-2.0.2.jar:2.0.2] 

हालांकि, मैं पता है कि अगर मैंने मास्टर को local पर सेट किया था तो यह काम करेगा, क्योंकि तब यह स्थानीय रूप से चलाया जाएगा। हालांकि, मैं अपने क्लाइंट को इस रिमोट मास्टर से कनेक्ट करना चाहता हूं। मैं इसे कैसे पूरा कर सकता हूं? अपाचे कॉन्फ़िगरेशन फ़ाइल दिखता है। मैं उस सार्वजनिक DNS और पोर्ट को टेलनेट भी कर सकता हूं, मैंने /etc/hosts को EC2 उदाहरणों के लिए सार्वजनिक DNS और होस्टनाम के साथ भी कॉन्फ़िगर किया है। मैं इस दूरस्थ मास्टर को नौकरियां जमा करने में सक्षम होना चाहता हूं, मुझे क्या याद आ रही है?

उत्तर

5

मास्टर होस्ट-नाम/आईपी बाध्यकारी के लिए अपनी स्पार्क स्थापना conf निर्देशिका (स्पार्क-2.0.2-bin-hadoop2.7/conf) पर जाएं और नीचे कमांड का उपयोग करके स्पार्क-env.sh फ़ाइल बनाएं।

cp spark-env.sh.template spark-env.sh 

vi संपादक में स्पार्क-env.sh फ़ाइल खोलें और अपने मास्टर के होस्ट-नाम/आईपी के साथ नीचे पंक्ति जोड़ें।

SPARK_MASTER_HOST=ec2-54-245-111-320.compute-1.amazonaws.com 

स्टॉप-all.sh और start-all.sh का उपयोग करके स्पार्क को रोकें और शुरू करें। अब आप वातावरण चर की स्थापना के बारे में अधिक जानकारी के लिए

val spark = SparkSession.builder() 
    .appName("SparkSample") 
    .master("spark://ec2-54-245-111-320.compute-1.amazonaws.com:7077") 
    .getOrCreate() 

का उपयोग कर दूरस्थ मास्टर कनेक्ट करने के लिए इसका इस्तेमाल करते हैं तो कृपया जाँच http://spark.apache.org/docs/latest/spark-standalone.html#cluster-launch-scripts

+0

मैं बिल्कुल ऐसा ही किया और यह अभी भी :-( – cybertextron

+0

Abaghel काम नहीं किया जा सकता है, मैं बना सकता है एडब्ल्यूएस में एक उदाहरण और स्पार्क-एनवी संपादित करें? – cybertextron

+0

क्या आप अपना पूरा स्टैक ट्रेस पोस्ट कर सकते हैं? क्या आप कनेक्ट करने के लिए स्पार्क के समान संस्करण का उपयोग कर रहे हैं? कृपया http://stackoverflow.com/questions/38559597/failed-to- कनेक्ट-टू-स्पार्क-मास्टरिनवाइडक्लेस्सेप्शन-ऑर्ग-अपाचे-स्पार्क-आरपीसी-आरपी – abaghel

संबंधित मुद्दे