2014-04-14 9 views
13

मैं अपनी दो आभासी मशीनों के साथ क्लर्क स्टैंडअलोन मोड को क्लस्टर में स्थापित करना चाहता हूं।
स्पार्क-0.9.1-बिन-हैडोप 1 के संस्करण के साथ, मैं प्रत्येक vm में स्पार्क-खोल सफलतापूर्वक निष्पादित करता हूं। मैं मास्टर और वर्कर दोनों के रूप में एक vm (ip: xx.xx.xx.223) बनाने के लिए और अन्य (ip: xx.xx.xx.224) को केवल वर्कर के रूप में बनाने के लिए the offical document का पालन करता हूं।
लेकिन 224-आईपी वीएम 223-आईपी वीएम कनेक्ट नहीं कर सकता है।मेरा स्पार्क का वर्कर मास्टर से कनेक्ट नहीं हो सकता है। अक्का के साथ कुछ गलत?

14/04/14 22:17:06 INFO Worker: Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties 
14/04/14 22:17:06 INFO Worker: Starting Spark worker tc-52-223:20599 with 1 cores, 4.0 GB RAM 
14/04/14 22:17:06 INFO Worker: Spark home: /data/test/spark-0.9.1-bin-hadoop1 
14/04/14 22:17:06 INFO WorkerWebUI: Started Worker web UI at http://tc-52-223:8081 
14/04/14 22:17:06 INFO Worker: Connecting to master spark://xx.xx.52.223:7077... 
14/04/14 22:17:06 INFO Worker: Successfully registered with master spark://xx.xx.52.223:7077 

बाद 224 (कार्यकर्ता) के काम लॉग है:

रों कार्यकर्ता लॉग: बाद 223 (मास्टर) '

[@tc-52-223 logs]# tail -100f spark-root-org.apache.spark.deploy.master.Master-1-tc-52-223.out 
Spark Command: /usr/local/jdk/bin/java -cp :/data/test/spark-0.9.1-bin-hadoop1/conf:/data/test/spark-0.9.1-bin-hadoop1/assembly/target/scala-2.10/spark-assembly_2.10-0.9.1-hadoop1.0.4.jar -Dspark.akka.logLifecycleEvents=true -Djava.library.path= -Xms512m -Xmx512m org.apache.spark.deploy.master.Master --ip 10.11.52.223 --port 7077 --webui-port 8080 

log4j:WARN No appenders could be found for logger (akka.event.slf4j.Slf4jLogger). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
14/04/14 22:17:03 INFO Master: Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties 
14/04/14 22:17:03 INFO Master: Starting Spark master at spark://10.11.52.223:7077 
14/04/14 22:17:03 INFO MasterWebUI: Started Master web UI at http://tc-52-223:8080 
14/04/14 22:17:03 INFO Master: I have been elected leader! New state: ALIVE 
14/04/14 22:17:06 INFO Master: Registering worker tc-52-223:20599 with 1 cores, 4.0 GB RAM 
14/04/14 22:17:06 INFO Master: Registering worker tc_52_224:21371 with 1 cores, 4.0 GB RAM 
14/04/14 22:17:06 INFO RemoteActorRefProvider$RemoteDeadLetterActorRef: Message [org.apache.spark.deploy.DeployMessages$RegisteredWorker] from Actor[akka://sparkMaster/user/Master#1972530850] to Actor[akka://sparkMaster/deadLetters] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. 
14/04/14 22:17:26 INFO Master: Registering worker tc_52_224:21371 with 1 cores, 4.0 GB RAM 
14/04/14 22:17:26 INFO RemoteActorRefProvider$RemoteDeadLetterActorRef: Message [org.apache.spark.deploy.DeployMessages$RegisterWorkerFailed] from Actor[akka://sparkMaster/user/Master#1972530850] to Actor[akka://sparkMaster/deadLetters] was not delivered. [2] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. 
14/04/14 22:17:46 INFO Master: Registering worker tc_52_224:21371 with 1 cores, 4.0 GB RAM 
14/04/14 22:17:46 INFO RemoteActorRefProvider$RemoteDeadLetterActorRef: Message [org.apache.spark.deploy.DeployMessages$RegisterWorkerFailed] from Actor[akka://sparkMaster/user/Master#1972530850] to Actor[akka://sparkMaster/deadLetters] was not delivered. [3] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. 
14/04/14 22:18:06 INFO Master: akka.tcp://[email protected]_52_224:21371 got disassociated, removing it. 
14/04/14 22:18:06 INFO Master: akka.tcp://[email protected]_52_224:21371 got disassociated, removing it. 
14/04/14 22:18:06 INFO LocalActorRef: Message [akka.remote.transport.ActorTransportAdapter$DisassociateUnderlying] from Actor[akka://sparkMaster/deadLetters] to Actor[akka://sparkMaster/system/transports/akkaprotocolmanager.tcp0/akkaProtocol-tcp%3A%2F%2FsparkMaster%4010.11.52.224%3A61550-1#646150938] was not delivered. [4] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. 
14/04/14 22:18:06 INFO Master: akka.tcp://[email protected]_52_224:21371 got disassociated, removing it. 
14/04/14 22:18:06 ERROR EndpointWriter: AssociationError [akka.tcp://[email protected]:7077] -> [akka.tcp://[email protected]_52_224:21371]: Error [Association failed with [akka.tcp://[email protected]_52_224:21371]] [ 
akka.remote.EndpointAssociationException: Association failed with [akka.tcp://[email protected]_52_224:21371] 
Caused by: akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon$2: Connection refused: tc_52_224/10.11.52.224:21371 
] 
14/04/14 22:18:06 INFO Master: akka.tcp://[email protected]_52_224:21371 got disassociated, removing it. 
14/04/14 22:18:06 ERROR EndpointWriter: AssociationError [akka.tcp://[email protected]:7077] -> [akka.tcp://[email protected]_52_224:21371]: Error [Association failed with [akka.tcp://[email protected]_52_224:21371]] [ 
akka.remote.EndpointAssociationException: Association failed with [akka.tcp://[email protected]_52_224:21371] 
Caused by: akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon$2: Connection refused: tc_52_224/10.11.52.224:21371 
] 
14/04/14 22:18:06 ERROR EndpointWriter: AssociationError [akka.tcp://[email protected]:7077] -> [akka.tcp://[email protected]_52_224:21371]: Error [Association failed with [akka.tcp://[email protected]_52_224:21371]] [ 
akka.remote.EndpointAssociationException: Association failed with [akka.tcp://[email protected]_52_224:21371] 
Caused by: akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon$2: Connection refused: tc_52_224/10.11.52.224:21371 
] 
14/04/14 22:18:06 INFO Master: akka.tcp://[email protected]_52_224:21371 got disassociated, removing it. 
14/04/14 22:19:03 WARN Master: Removing worker-20140414221705-tc_52_224-21371 because we got no heartbeat in 60 seconds 
14/04/14 22:19:03 INFO Master: Removing worker worker-20140414221705-tc_52_224-21371 on tc_52_224:21371 

बाद 223 (कार्यकर्ता) है रों मास्टर लॉग' है

JAVA_HOME=/usr/local/jdk 
export SPARK_MASTER_IP=tc-52-223 
export SPARK_WORKER_CORES=1 
export SPARK_WORKER_INSTANCES=1 
export SPARK_MASTER_PORT=7077 
export SPARK_WORKER_MEMORY=4g 
export MASTER=spark://${SPARK_MASTER_IP}:${SPARK_MASTER_PORT} 
export SPARK_LOCAL_IP=tc-52-223 
:
Spark Command: /usr/local/jdk/bin/java -cp :/data/test/spark-0.9.1-bin-hadoop1/conf:/data/test/spark-0.9.1-bin-hadoop1/assembly/target/scala-2.10/spark-assembly_2.10-0.9.1-hadoop1.0.4.jar -Dspark.akka.logLifecycleEvents=true -Djava.library.path= -Xms512m -Xmx512m org.apache.spark.deploy.worker.Worker spark://10.11.52.223:7077 --webui-port 8081 
======================================== 

log4j:WARN No appenders could be found for logger (akka.event.slf4j.Slf4jLogger). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
14/04/14 22:17:06 INFO Worker: Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties 
14/04/14 22:17:06 INFO Worker: Starting Spark worker tc_52_224:21371 with 1 cores, 4.0 GB RAM 
14/04/14 22:17:06 INFO Worker: Spark home: /data/test/spark-0.9.1-bin-hadoop1 
14/04/14 22:17:06 INFO WorkerWebUI: Started Worker web UI at http://tc_52_224:8081 
14/04/14 22:17:06 INFO Worker: Connecting to master spark://xx.xx.52.223:7077... 
14/04/14 22:17:26 INFO Worker: Connecting to master spark://xx.xx.52.223:7077... 
14/04/14 22:17:46 INFO Worker: Connecting to master spark://xx.xx.52.223:7077... 
14/04/14 22:18:06 ERROR Worker: All masters are unresponsive! Giving up. 

पीछा मेरी spark-env.sh है

मैंने कई समाधानों को गुमराह किया है, लेकिन वे काम नहीं कर सकते हैं। कृपया मेरी मदद करें।

+0

क्या आप स्कैला 2.11 कोड निष्पादित करने का प्रयास कर रहे हैं? – BAR

उत्तर

9

मुझे यकीन नहीं है कि यह एक ही समस्या है जिसका सामना मैंने किया है लेकिन आप SPARK_MASTER_IP को स्पार्क बाइंड के समान ही सेट करना चाहते हैं। आपके उदाहरण में ऐसा लगता है कि यह 10.11.52.223 होगा और tc-52-223 नहीं होगा।

यह है कि तुम क्या देखते हैं जब आप 8080 के कुछ की तरह पर मास्टर नोड वेब UI पर जाएँ के रूप में ही किया जाना चाहिए: Spark Master at spark://ec2-XX-XX-XXX-XXX.compute-1.amazonaws.com:7077

+0

धन्यवाद! यह मेरी समस्या हल हो गया! – hotienvu

+0

@FatGosta शायद यह आपकी समस्या का समाधान भी कर सकता है? मैं एक समान मुद्दे को ट्रैक करने की कोशिश कर रहा हूं और मुझे दो प्रश्न मिले हैं जहां संकल्प अज्ञात है। शायद हम कभी नहीं जानते! मैंने इस अन्य प्रश्न पर गहराई से उत्तर पोस्ट किया है http://stackoverflow.com/questions/28453835/apache-sparck-error-could-not-connect-to-akka-tcp-sparkmaster/34499020#34499020], मुझे लगता है यदि आप कर सकते हैं तो सभी आईपी के साथ रहना सबसे सुरक्षित है, लेकिन आप एक पुराने संस्करण का उपयोग कर रहे थे। यह कैसे काम करता है? – JimLohse

6

आप मिल रहा है तो एक "कनेक्शन अस्वीकृत" अपवाद, आप इसे

की जाँच करके हल कर सकते हैं

=> मास्टर विशिष्ट मेजबान पर चल रहा है

netstat -at | grep 7077 

आप के लिए कुछ इसी तरह मिल जाएगा:

tcp  0  0 akhldz.master.io:7077 *:*    LISTEN 

अगर ऐसा है, तो अपने कार्यकर्ता मशीन से एक मेजबान akhldz.master.io (अपने गुरु host.If साथ akhldz.master.io की जगह कुछ गलत हो जाता करते हैं, तो अपने/में एक मेजबान प्रविष्टि जोड़ने आदि/मेजबान फ़ाइल)
telnet akhldz.master.io 7077 (यदि यह कनेक्ट नहीं हो रहा है, तो आपका कर्मचारी या तो कनेक्ट नहीं होगा।/Etc/hosts में)

=> जोड़ना होस्ट प्रविष्टि

ओपन/etc/अपने कार्यकर्ता मशीन से मेजबान और निम्न प्रविष्टि (उदाहरण)

192.168.100.20 akhldz.master.io 

पुनश्च जोड़ें: ऊपर में

192.168.100.40 s1.machine.org 
192.168.100.41 s1.machine.org 

आशा है कि मदद: मामले Pillis दो आईपी समान होस्ट नाम जैसे होने पतों रहा था।

+1

ऐसा लगता है कि यह अपाचे स्पार्क उपयोगकर्ता मेलिंग सूची, http://mail-archives.apache.org/mod_mbox/spark-user/201402.mbox/%[email protected].com%3E से कॉपी किया गया है। प्रश्न के तहत उसमें एक लिंक जोड़ना और इस उत्तर को हटाना बेहतर हो सकता है? – TooTone

+0

मैंने मेलिंग सूची = पी – AkhlD

+1

:) में उत्तर दिया, लेकिन यह मेलिंग सूची पर सवाल का जवाब जैसा दिखता है, यहां सवाल के लिए नहीं (यह ओके को स्टैक ओवरफ्लो ओपी की बजाय मेलिंग सूची पर भी उल्लेख करता है)। – TooTone

0

स्पार्क कार्यकर्ता के लिए बंदरगाह सेट भी, उदाहरण: SPARK_WORKER_PORT=5078 ...spark-installation सही स्थापना के लिए

0

मूल रूप से आपके बंदरगाहों को अवरुद्ध कर दिया गया है ताकि मास्टर से कार्यकर्ता का संचार घटा दिया जा सके। यहां देखें https://spark.apache.org/docs/latest/configuration.html#networking

"नेटवर्किंग" अनुभाग में, आप देख सकते हैं कि कुछ बंदरगाह डिफ़ॉल्ट रूप से यादृच्छिक हैं। आप नीचे दिए गए की तरह अपनी पसंद के लिए उन्हें सेट कर सकते हैं:

val conf = new SparkConf() 
    .setMaster(master) 
    .setAppName("namexxx") 
    .set("spark.driver.port", "51810") 
    .set("spark.fileserver.port", "51811") 
    .set("spark.broadcast.port", "51812") 
    .set("spark.replClassServer.port", "51813") 
    .set("spark.blockManager.port", "51814") 
    .set("spark.executor.port", "51815") 
2

वहाँ जवाब और संभव समाधान का एक बहुत है, और इस सवाल का एक सा पुराना है, लेकिन पूर्णता के हित में, वहाँ हल करने होस्ट नामों के बारे में जाना जाता है स्पार्क बग है आईपी ​​पते के लिए। मैं इसे सभी मामलों में पूर्ण उत्तर के रूप में प्रस्तुत नहीं कर रहा हूं, लेकिन मैं केवल सभी आईपी का उपयोग करने की आधार रेखा के साथ प्रयास करने का सुझाव देता हूं, और केवल एक ही कॉन्फ़िगर SPARK_MASTER_IP का उपयोग करता हूं। केवल उन दो प्रथाओं के साथ मैं अपने क्लस्टर को काम करने और अन्य सभी कॉन्फ़िगरेशन, या होस्टनामों का उपयोग करने के लिए मिलता हूं, बस चीजों को मक्का लग रहा है।

तो आपकी स्पार्क-env.sh में SPARK_WORKER_IP से छुटकारा पाएं और SPARK_MASTER_IP को आईपी पते पर बदलें, मेजबाननाम नहीं।

आप बॉक्स जहां स्पार्क मास्टर चल रहा है पिंग कर सकते हैं:

I have treated this more at length in this answer.

अधिक पूर्णता के लिए यहां है कि इसका जवाब का हिस्सा है? क्या आप मास्टर से कार्यकर्ता पिंग कर सकते हैं? अधिक महत्वपूर्ण बात, क्या आप मास्टर बॉक्स से कार्यकर्ता को पासवर्ड-कम ssh कर सकते हैं? प्रति 1.5.2 डॉक्स आपको होने की आवश्यकता है जो एक निजी कुंजी के साथ ऐसा करने में सक्षम है और कार्यकर्ता conf/गुलाम फ़ाइल में दर्ज किया गया है। मैंने अंत में प्रासंगिक अनुच्छेद की प्रतिलिपि बनाई।

आप एक ऐसी स्थिति प्राप्त कर सकते हैं जहां कर्मचारी मास्टर से संपर्क कर सके लेकिन मास्टर कार्यकर्ता को वापस नहीं मिल सकता है, ऐसा लगता है कि कोई कनेक्शन नहीं बनाया जा रहा है। दोनों दिशाओं की जांच करें।

मुझे लगता है कि दासों को मास्टर नोड पर फ़ाइल है, और पासवर्ड-कम एसएसएच आप जो देख रहे हैं उसके समान त्रुटियों का कारण बन सकता है।

उत्तर के जवाब में मैंने क्रॉसलिंक किया, there's also an old bug लेकिन यह स्पष्ट नहीं है कि उस बग को कैसे हल किया गया था।

0

मैं मेरे मामले में, मैं के रूप में समस्या को दूर कर सकता है "के लिए स्थानीय होस्ट का होस्ट नाम और आईपी adres के प्रवेश जोड़ने/etc/hosts फाइल" इस प्रकार है:

एक क्लस्टर के लिए, मास्टर/etc/hosts सामग्री है निम्नानुसार है:

127.0.0.1  master.yourhost.com localhost localhost4 localhost.localdomain 
192.168.1.10 slave1.yourhost.com 
192.168.1.9  master.yourhost.com **# this line solved the problem** 

तब मैं slave1.yourhost.com मशीन पर भी वही करता हूं।

उम्मीद है कि यह मदद करता है ..

0

मुझे एक ही समस्या का सामना करना पड़ा था। आप इसे नीचे की प्रक्रिया से हल कर सकते हैं, पहले आपको /etc/hosts फ़ाइल पर जाना चाहिए और 127.0.1.1 पता टिप्पणी करें। तो आप spark/sbin निर्देशिका की ओर जाना चाहिए, तो आप शुरू कर दिया जाना चाहिए इन कमांड द्वारा सत्र चिंगारी,

./start-all.sh 

या आप उसी के लिए ./start-master.sh और ./start-slave.sh उपयोग कर सकते हैं। अब यदि आप spark-shell or pyspark या किसी अन्य स्पार्क घटक को चलाएंगे तो यह स्वचालित रूप से आपके लिए स्पार्क संदर्भ ऑब्जेक्ट sc बनाएगा।

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