2016-12-01 13 views
6

मैं स्पार्क के लिए नया हूं और मैं एचए सक्षम के साथ स्पार्क क्लस्टर स्थापित करने में व्यस्त हूं।स्पार्क शैल - __spark_libs__.zip मौजूद नहीं है

जब के माध्यम से परीक्षण के लिए एक चिंगारी खोल शुरू करने: bash spark-shell --master yarn --deploy-mode client

मैं निम्न त्रुटि प्राप्त (पूर्ण त्रुटि bellow देखें): file:/tmp/spark-126d2844-5b37-461b-98a4-3f3de5ece91b/__spark_libs__3045590511279655158.zip does not exist

आवेदन के रूप में यार्न वेब एप्लिकेशन पर विफल रही चिह्नित है और कोई कंटेनर हैं शुरू कर दिया है।

जब कोई खोल शुरू होता है: spark-shell --master local यह त्रुटियों के बिना खुलता है।

मैंने देखा है कि फ़ाइलों को केवल नोड पर tmp फ़ोल्डर में लिखा जा रहा है जहां खोल बनाया गया है।

किसी भी मदद की बहुत सराहना की जाएगी। अगर अधिक जानकारी की आवश्यकता है तो मुझे बताएं।

पर्यावरण चर:

HADOOP_CONF_DIR =/opt/Hadoop-2.7.3/etc/Hadoop/

YARN_CONF_DIR =/opt/Hadoop-2.7.3/etc/Hadoop/

SPARK_HOME =/opt/चिंगारी-2.0.2-बिन-hadoop2.7/

पूर्ण त्रुटि संदेश:

16/11/30 21:08:47 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
16/11/30 21:08:49 WARN yarn.Client: Neither spark.yarn.jars nor spark.yarn.archive is set, falling back to uploading libraries under SPARK_HOME. 
16/11/30 21:09:03 WARN cluster.YarnSchedulerBackend$YarnSchedulerEndpoint: Container marked as failed: container_e14_1480532715390_0001_02_000003 on host: slave2. Exit status: -1000. Diagnostics: File file:/tmp/spark-126d2844-5b37-461b-98a4-3f3de5ece91b/__spark_libs__3045590511279655158.zip does not exist 
java.io.FileNotFoundException: File file:/tmp/spark-126d2844-5b37-461b-98a4-3f3de5ece91b/__spark_libs__3045590511279655158.zip 
does not exist 
     at org.apache.hadoop.fs.RawLocalFileSystem.deprecatedGetFileStatus(RawLocalFileSystem.java:611) 
     at org.apache.hadoop.fs.RawLocalFileSystem.getFileLinkStatusInternal(RawLocalFileSystem.java:824) 
     at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:601) 
     at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:421) 
     at org.apache.hadoop.yarn.util.FSDownload.copy(FSDownload.java:253) 
     at org.apache.hadoop.yarn.util.FSDownload.access$000(FSDownload.java:63) 
     at org.apache.hadoop.yarn.util.FSDownload$2.run(FSDownload.java:361) 
     at org.apache.hadoop.yarn.util.FSDownload$2.run(FSDownload.java:359) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at javax.security.auth.Subject.doAs(Subject.java:422) 
     at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698) 
     at org.apache.hadoop.yarn.util.FSDownload.call(FSDownload.java:358) 
     at org.apache.hadoop.yarn.util.FSDownload.call(FSDownload.java:62) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 

16/11/30 22:29:28 ERROR cluster.YarnClientSchedulerBackend: Yarn application has already exited with state FINISHED! 16/11/30 22:29:28 ERROR spark.SparkContext: Error initializing SparkContext. java.lang.IllegalStateException: Spark context stopped while waiting for backend 
     at org.apache.spark.scheduler.TaskSchedulerImpl.waitBackendReady(TaskSchedulerImpl.scala:584) 
     at org.apache.spark.scheduler.TaskSchedulerImpl.postStartHook(TaskSchedulerImpl.scala:162) 
     at org.apache.spark.SparkContext.<init>(SparkContext.scala:546) 
     at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2258) 
     at org.apache.spark.sql.SparkSession$Builder$$anonfun$8.apply(SparkSession.scala:831) 
     at org.apache.spark.sql.SparkSession$Builder$$anonfun$8.apply(SparkSession.scala:823) 
     at scala.Option.getOrElse(Option.scala:121) 
     at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:823) 
     at org.apache.spark.repl.Main$.createSparkSession(Main.scala:95) 
     at $line3.$read$$iw$$iw.<init>(<console>:15) 
     at $line3.$read$$iw.<init>(<console>:31) 
     at $line3.$read.<init>(<console>:33) 
     at $line3.$read$.<init>(<console>:37) 
     at $line3.$read$.<clinit>(<console>) 
     at $line3.$eval$.$print$lzycompute(<console>:7) 
     at $line3.$eval$.$print(<console>:6) 
     at $line3.$eval.$print(<console>) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:786) 
     at scala.tools.nsc.interpreter.IMain$Request.loadAndRun(IMain.scala:1047) 
     at scala.tools.nsc.interpreter.IMain$WrappedRequest$$anonfun$loadAndRunReq$1.apply(IMain.scala:638) 
     at scala.tools.nsc.interpreter.IMain$WrappedRequest$$anonfun$loadAndRunReq$1.apply(IMain.scala:637) 
     at scala.reflect.internal.util.ScalaClassLoader$class.asContext(ScalaClassLoader.scala:31) 
     at scala.reflect.internal.util.AbstractFileClassLoader.asContext(AbstractFileClassLoader.scala:19) 
     at scala.tools.nsc.interpreter.IMain$WrappedRequest.loadAndRunReq(IMain.scala:637) 
     at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:569) 
     at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:565) 
     at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:807) 
     at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:681) 
     at scala.tools.nsc.interpreter.ILoop.processLine(ILoop.scala:395) 
     at org.apache.spark.repl.SparkILoop$$anonfun$initializeSpark$1.apply$mcV$sp(SparkILoop.scala:38) 
     at org.apache.spark.repl.SparkILoop$$anonfun$initializeSpark$1.apply(SparkILoop.scala:37) 
     at org.apache.spark.repl.SparkILoop$$anonfun$initializeSpark$1.apply(SparkILoop.scala:37) 
     at scala.tools.nsc.interpreter.IMain.beQuietDuring(IMain.scala:214) 
     at org.apache.spark.repl.SparkILoop.initializeSpark(SparkILoop.scala:37) 
     at org.apache.spark.repl.SparkILoop.loadFiles(SparkILoop.scala:94) 
     at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply$mcZ$sp(ILoop.scala:920) 
     at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:909) 
     at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:909) 
     at scala.reflect.internal.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:97) 
     at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:909) 
     at org.apache.spark.repl.Main$.doMain(Main.scala:68) 
     at org.apache.spark.repl.Main$.main(Main.scala:51) 
     at org.apache.spark.repl.Main.main(Main.scala) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:736) 
     at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:185) 
     at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:210) 
     at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:124) 
     at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 

यार्न-site.xml

<configuration> 
    <property> 
    <name>yarn.resourcemanager.connect.retry-interval.ms</name> 
    <value>2000</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.ha.enabled</name> 
    <value>true</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.ha.automatic-failover.enabled</name> 
    <value>true</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.ha.automatic-failover.embedded</name> 
    <value>true</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.cluster-id</name> 
    <value>yarn-cluster</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.ha.rm-ids</name> 
    <value>rm1,rm2</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.ha.id</name> 
    <value>rm1</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.scheduler.class</name> 
    <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.recovery.enabled</name> 
    <value>true</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.store.class</name> 
    <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.zk-address</name> 
    <value>master:2181,slave1:2181,slave2:2181</value> 
    </property> 
    <property> 
    <name>yarn.app.mapreduce.am.scheduler.connection.wait.interval-ms</name> 
    <value>5000</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.work-preserving-recovery.enabled</name> 
    <value>true</value> 
    </property> 

    <property> 
    <name>yarn.resourcemanager.address.rm1</name> 
    <value>master:23140</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.scheduler.address.rm1</name> 
    <value>master:23130</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.webapp.https.address.rm1</name> 
    <value>master:23189</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.webapp.address.rm1</name> 
    <value>master:23188</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.resource-tracker.address.rm1</name> 
    <value>master:23125</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.admin.address.rm1</name> 
    <value>master:23141</value> 
    </property> 

    <property> 
    <name>yarn.resourcemanager.address.rm2</name> 
    <value>slave1:23140</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.scheduler.address.rm2</name> 
    <value>slave1:23130</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.webapp.https.address.rm2</name> 
    <value>slave1:23189</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.webapp.address.rm2</name> 
    <value>slave1:23188</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.resource-tracker.address.rm2</name> 
    <value>slave1:23125</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.admin.address.rm2</name> 
    <value>slave1:23141</value> 
    </property> 

    <property> 
    <description>Address where the localizer IPC is.</description> 
    <name>yarn.nodemanager.localizer.address</name> 
    <value>0.0.0.0:23344</value> 
    </property> 
    <property> 
    <description>NM Webapp address.</description> 
    <name>yarn.nodemanager.webapp.address</name> 
    <value>0.0.0.0:23999</value> 
    </property> 
    <property> 
    <name>yarn.nodemanager.aux-services</name> 
    <value>mapreduce_shuffle</value> 
    </property> 
    <property> 
    <name>yarn.nodemanager.local-dirs</name> 
    <value>/tmp/pseudo-dist/yarn/local</value> 
    </property> 
    <property> 
    <name>yarn.nodemanager.log-dirs</name> 
    <value>/tmp/pseudo-dist/yarn/log</value> 
    </property> 
    <property> 
    <name>mapreduce.shuffle.port</name> 
    <value>23080</value> 
    </property> 
    <property> 
    <name>yarn.resourcemanager.work-preserving-recovery.enabled</name> 
    <value>true</value> 
    </property> 
</configuration> 
+0

सभी डेटानोड्स में/tmp पथ है rwx अनुमति –

+0

मैंने अभी पुष्टि की है,/tmp निर्देशिका में सभी नोड्स पर rwx अनुमतियां हैं। क्या आपको लगता है कि यह फ़ाइल लिखने में समस्या है या फ़ाइल को पुनर्प्राप्त नहीं किया जा सकता है? –

+0

यह हो सकता है। सीधे/tmp/spark-126d2844-5b37-461b-98a4-3f3de5ece91b/पथ में फ़ाइल बनाने का प्रयास करें। क्या यह कोई अनुमति मुद्दा दिखाता है? –

उत्तर

1

यह त्रुटि कोर-साइट.एक्सएमएल फ़ाइल में कॉन्फ़िगरेशन के कारण थी।

कृपया ध्यान दें कि इस फाइल को HADOOP_CONF_DIR env चर सेट किया जाना चाहिए लगता है।

मेरे मामले में मैं को HADOOP_CONF_DIR=/opt/hadoop-2.7.3/etc/hadoop/ जोड़ा ./conf/spark-env.sh

देखें: Spark Job running on Yarn Cluster java.io.FileNotFoundException: File does not exits , eventhough the file exits on the master node

कोर-site.xml

<configuration> 
    <property> 
     <name>fs.default.name</name> 
     <value>hdfs://master:9000</value> 
    </property> 
</configuration> 

इस endpoint नहीं पहुंचा जा सकता है, या अगर स्पार्क का पता लगाता है कि फाइल सिस्टम वर्तमान सिस्टम के समान है, lib फ़ाइलें distri नहीं होगी आपके क्लस्टर में अन्य नोड्स पर लगाए गए त्रुटियों के कारण।

मेरी स्थिति में जिस नोड पर मैं निर्दिष्ट होस्ट पर पोर्ट 9000 तक नहीं पहुंच सका।

डिबगिंग

की जानकारी करने के लिए लॉग स्तर बढ़ाएं। आप ऐसा कर सकते हैं: ./conf/log4j.properties

  • को

    1. कॉपी ./conf/log4j.properties.template फ़ाइल में सेट log4j.logger.org.apache.spark.repl.Main = INFO

    सामान्य तौर पर अपने स्पार्क शैल शुरू करो। यदि आपकी समस्या मेरे जैसा ही है, तो आपको एक सूचना संदेश देखना चाहिए: INFO Client: Source and destination file systems are the same. Not copying file:/tmp/spark-c1a6cdcd-d348-4253-8755-5086a8931e75/__spark_libs__1391186608525933727.zip

    इससे आपको समस्या का सामना करना पड़ेगा क्योंकि यह लापता फाइलों के परिणामस्वरूप ट्रेन प्रतिक्रिया शुरू करता है।

  • 0

    , वहाँ केवल चेतावनी है कि आप पर्यावरण चर जोड़ कर से बचने कर सकते हैं मैं अपने लॉग में किसी भी त्रुटि नहीं दिख रहा है: निर्यात HADOOP_COMMON_LIB_NATIVE_DIR = $ HADOOP_HOME/lib/मूल निर्यात HADOOP_OPTS = "- Djava.library.path = $ HADOOP_HOME/lib"

    अपवाद के लिए: यार्न के लिए मैन्युअल रूप से चिंगारी विन्यास सेट करने का प्रयास: http://badrit.com/blog/2015/2/29/running-spark-on-yarn#.WD_e66IrJsM

    HDFS DFS -mkdir -p/उपयोगकर्ता/चिंगारी/शेयर/lib
    HDFS DFS रखो $ SPARK_HOME/विधानसभा/lib/चिंगारी -साइबर _ _। जार /user/spark/share/lib/spark-assembly.jar
    निर्यात SPARK_JAR = hdfs: // your-server: पोर्ट/उपयोगकर्ता/स्पार्क/शेयर/lib/spark-assembly.jar

    इस सहायता की आशा करें।

    +0

    मैंने परिणामी त्रुटि में जोड़ा है जो मुझे लगता है कि कंटेनर विफलता के कारण है। –

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