2015-09-01 5 views
5

किसी भी समय मैं एक क्लाउडेरा CDH 5.4.4 क्लस्टर पर एक स्पार्क आवेदन चलाने का प्रयास चल रहा है, यार्न ग्राहक मोड, मैं निम्नलिखित अपवाद (दोहराया कई बार मिलता है स्टैक ट्रेस में)। प्रक्रिया वैसे भी जारी है (यह एक चेतावनी है), लेकिन लॉग में कुछ खोजने के लिए यह असंभव है। मैं इसे कैसे सुलझाऊं?अपवाद /etc/hadoop/conf.cloudera.yarn/topology.py

15/09/01 08:53:58 WARN net.ScriptBasedMapping: Exception running /etc/hadoop/conf.cloudera.yarn/topology.py 10.0.0.5 
java.io.IOException: Cannot run program "/etc/hadoop/conf.cloudera.yarn/topology.py" (in directory "/home/azureuser/scripts/streaming"): error=13, Permission denied 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047) 
    at org.apache.hadoop.util.Shell.runCommand(Shell.java:485) 
    at org.apache.hadoop.util.Shell.run(Shell.java:455) 
    at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:715) 
    at org.apache.hadoop.net.ScriptBasedMapping$RawScriptBasedMapping.runResolveCommand(ScriptBasedMapping.java:251) 
    at org.apache.hadoop.net.ScriptBasedMapping$RawScriptBasedMapping.resolve(ScriptBasedMapping.java:188) 
    at org.apache.hadoop.net.CachedDNSToSwitchMapping.resolve(CachedDNSToSwitchMapping.java:119) 
    at org.apache.hadoop.yarn.util.RackResolver.coreResolve(RackResolver.java:101) 
    at org.apache.hadoop.yarn.util.RackResolver.resolve(RackResolver.java:81) 
    at org.apache.spark.scheduler.cluster.YarnScheduler.getRackForHost(YarnScheduler.scala:38) 
    at org.apache.spark.scheduler.TaskSchedulerImpl$$anonfun$resourceOffers$1.apply(TaskSchedulerImpl.scala:271) 
    at org.apache.spark.scheduler.TaskSchedulerImpl$$anonfun$resourceOffers$1.apply(TaskSchedulerImpl.scala:263) 
    at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59) 
    at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47) 
    at org.apache.spark.scheduler.TaskSchedulerImpl.resourceOffers(TaskSchedulerImpl.scala:263) 
    at org.apache.spark.scheduler.cluster.CoarseGrainedSchedulerBackend$DriverActor.makeOffers(CoarseGrainedSchedulerBackend.scala:167) 
    at org.apache.spark.scheduler.cluster.CoarseGrainedSchedulerBackend$DriverActor$$anonfun$receiveWithLogging$1.applyOrElse(CoarseGrainedSchedulerBackend.scala:131) 
    at scala.runtime.AbstractPartialFunction$mcVL$sp.apply$mcVL$sp(AbstractPartialFunction.scala:33) 
    at scala.runtime.AbstractPartialFunction$mcVL$sp.apply(AbstractPartialFunction.scala:33) 
    at scala.runtime.AbstractPartialFunction$mcVL$sp.apply(AbstractPartialFunction.scala:25) 
    at org.apache.spark.util.ActorLogReceive$$anon$1.apply(ActorLogReceive.scala:53) 
    at org.apache.spark.util.ActorLogReceive$$anon$1.apply(ActorLogReceive.scala:42) 
    at scala.PartialFunction$class.applyOrElse(PartialFunction.scala:118) 
    at org.apache.spark.util.ActorLogReceive$$anon$1.applyOrElse(ActorLogReceive.scala:42) 
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:498) 
    at akka.actor.ActorCell.invoke(ActorCell.scala:456) 
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:237) 
    at akka.dispatch.Mailbox.run(Mailbox.scala:219) 
    at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:386) 
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) 
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) 
Caused by: java.io.IOException: error=13, Permission denied 
    at java.lang.UNIXProcess.forkAndExec(Native Method) 
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:186) 
    at java.lang.ProcessImpl.start(ProcessImpl.java:130) 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028) 
    ... 32 more 

उत्तर

0

यहां मिले एक समाधान: https://groups.google.com/a/cloudera.org/forum/#!searchin/cdh-user/Exception $ 20running $ 20 $ 2Fetc $ 2Fhadoop $ 2Fconf.cloudera.yarn $ 2Ftopology.py/CDH-उपयोगकर्ता/fte4IPjX8TU/0jUOGkXyCAAJ

बस उपयोगकर्ता के लिए अनुमतियां जोड़ने के नए उत्पादों के लॉन्च स्क्रिप्ट के पथ (फ़ाइलों को पढ़ने और सूचीबद्ध करने के लिए) बनाने वाली सभी निर्देशिकाओं पर लिपि।

+1

काश पद अधिक जानकारीपूर्ण और एक बंद करने के लिए लिंक का निर्देशन नहीं था। – Dror

+0

मैंने क्लौडेरा प्रबंधक से क्लाइंट कॉन्फ़िगरेशन फ़ाइलों को डाउनलोड किया है और फ़ोल्डर नाम अलग-अलग यार्न-कॉन्फ बनाम conf.cloudera.yarn हैं। साथ ही, topology.py पर कोई निष्पादन अनुमति नहीं है। मैंने क्लस्टर नोड्स की जांच की और उनके पास अपेक्षित नाम और अनुमतियां हैं। –

3

जबकि एक स्पार्क काम प्रस्तुत करने एक ही समस्या का सामना।

अधिकांश शायद आप सर्वर आप स्पार्क आवेदन भाग गया पर "/etc/hadoop/conf.cloudera.yarn/topology.py" फ़ाइल नहीं है। या "/etc/hadoop/conf.cloudera.yarn/topology.py" एक या अधिक सर्वर पर उपलब्ध नहीं है।

तुम भी यार्न क्लस्टर मोड में आवेदन चलाकर इस समस्या को हल कर सकते हैं।

--master yarn-cluster 
+0

यार्न क्लस्टर मोड में एप्लिकेशन चलाने से त्रुटि में कोई बदलाव नहीं आया, इस प्रकार समस्या का समाधान नहीं हुआ – dieHellste

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