मैंने एडब्ल्यूएस में 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 और होस्टनाम के साथ भी कॉन्फ़िगर किया है। मैं इस दूरस्थ मास्टर को नौकरियां जमा करने में सक्षम होना चाहता हूं, मुझे क्या याद आ रही है?
मैं बिल्कुल ऐसा ही किया और यह अभी भी :-( – cybertextron
Abaghel काम नहीं किया जा सकता है, मैं बना सकता है एडब्ल्यूएस में एक उदाहरण और स्पार्क-एनवी संपादित करें? – cybertextron
क्या आप अपना पूरा स्टैक ट्रेस पोस्ट कर सकते हैं? क्या आप कनेक्ट करने के लिए स्पार्क के समान संस्करण का उपयोग कर रहे हैं? कृपया http://stackoverflow.com/questions/38559597/failed-to- कनेक्ट-टू-स्पार्क-मास्टरिनवाइडक्लेस्सेप्शन-ऑर्ग-अपाचे-स्पार्क-आरपीसी-आरपी – abaghel