Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 异常运行/etc/hadoop/conf.cloudera.thread/topology.py_Apache Spark_Cloudera_Yarn - Fatal编程技术网

Apache spark 异常运行/etc/hadoop/conf.cloudera.thread/topology.py

Apache spark 异常运行/etc/hadoop/conf.cloudera.thread/topology.py,apache-spark,cloudera,yarn,Apache Spark,Cloudera,Yarn,每当我尝试在Cloudera CDH 5.4.4集群上运行Spark应用程序时,我都会遇到以下异常(在堆栈跟踪中重复多次)。该过程仍在继续(这是一个警告),但不可能在日志中找到某些内容。我怎样才能解决它 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 ru

每当我尝试在Cloudera CDH 5.4.4集群上运行Spark应用程序时,我都会遇到以下异常(在堆栈跟踪中重复多次)。该过程仍在继续(这是一个警告),但不可能在日志中找到某些内容。我怎样才能解决它

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
15/09/01 08:53:58 WARN net.ScriptBasedMapping:Exception running/etc/hadoop/conf.cloudera.WARN/topology.py 10.0.0.5
java.io.IOException:无法运行程序“/etc/hadoop/conf.cloudera.warn/topology.py”(目录“/home/azureuser/scripts/streaming”):错误=13,权限被拒绝
位于java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)
位于org.apache.hadoop.util.Shell.runCommand(Shell.java:485)
位于org.apache.hadoop.util.Shell.run(Shell.java:455)
位于org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:715)
位于org.apache.hadoop.net.ScriptBasedMapping$RawScriptBasedMapping.runResolveCommand(ScriptBasedMapping.java:251)
位于org.apache.hadoop.net.ScriptBasedMapping$RawScriptBasedMapping.resolve(ScriptBasedMapping.java:188)
位于org.apache.hadoop.net.CachedDNSToSwitchMapping.resolve(CachedDNSToSwitchMapping.java:119)
在org.apache.hadoop.warn.util.racksolver.coresolver(racksolver.java:101)上
位于org.apache.hadoop.warn.util.RackResolver.resolve(RackResolver.java:81)
位于org.apache.spark.scheduler.cluster.YarnScheduler.getRackForHost(YarnScheduler.scala:38)
位于org.apache.spark.scheduler.TaskSchedulerImpl$$anonfun$resourceOffers$1.apply(TaskSchedulerImpl.scala:271)
位于org.apache.spark.scheduler.TaskSchedulerImpl$$anonfun$resourceOffers$1.apply(TaskSchedulerImpl.scala:263)
位于scala.collection.mutable.resizeblearray$class.foreach(resizeblearray.scala:59)
位于scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
位于org.apache.spark.scheduler.TaskSchedulerImpl.resourceOffers(TaskSchedulerImpl.scala:263)
位于org.apache.spark.scheduler.cluster.RoughGrainedSchedulerBackend$DriverActor.makeOffers(RoughGrainedSchedulerBackend.scala:167)
在org.apache.spark.scheduler.cluster.RoughGrainedSchedulerBackend$DriverActor$$anonfun$receiveWithLogging$1.applyOrElse(RoughGrainedSchedulerBackend.scala:131)
在scala.runtime.AbstractPartialFunction$mcVL$sp.apply$mcVL$sp(AbstractPartialFunction.scala:33)
在scala.runtime.AbstractPartialFunction$mcVL$sp.apply处(AbstractPartialFunction.scala:33)
在scala.runtime.AbstractPartialFunction$mcVL$sp.apply处(AbstractPartialFunction.scala:25)
位于org.apache.spark.util.ActorLogReceive$$anon$1.apply(ActorLogReceive.scala:53)
位于org.apache.spark.util.ActorLogReceive$$anon$1.apply(ActorLogReceive.scala:42)
在scala.PartialFunction$class.applyOrElse中(PartialFunction.scala:118)
在org.apache.spark.util.ActorLogReceive$$anon$1.applyOrElse上(ActorLogReceive.scala:42)
在akka.actor.ActorCell.receiveMessage(ActorCell.scala:498)
在akka.actor.ActorCell.invoke(ActorCell.scala:456)
位于akka.dispatch.Mailbox.processMailbox(Mailbox.scala:237)
在akka.dispatch.Mailbox.run(Mailbox.scala:219)
在akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:386)
位于scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
位于scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
位于scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
在scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)中
原因:java.io.IOException:错误=13,权限被拒绝
位于java.lang.UNIXProcess.forkAndExec(本机方法)
位于java.lang.UNIXProcess(UNIXProcess.java:186)
在java.lang.ProcessImpl.start(ProcessImpl.java:130)
位于java.lang.ProcessBuilder.start(ProcessBuilder.java:1028)
... 32多
在这里找到了一个解决方案:$20运行$20$2Fetc$2FADOOP$2Fconf.cloudera.Thread$2Ftopology.py/cdh-user/fte4IPjX8TU/0juogkxycaj


只需向在构成脚本路径(用于读取和列出文件)的所有目录上启动脚本的用户添加权限。

在提交Spark作业时遇到同样的问题

在运行Spark应用程序的服务器上,很可能没有“/etc/hadoop/conf.cloudera.thread/topology.py”文件。或“/etc/hadoop/conf.cloudera.thread/topology.py”在一台或多台服务器上不可用


您还可以通过在纱线簇模式下运行应用程序来解决此问题

--master yarn-cluster

chmod 755/etc/hadoop/conf.cloudera.warn/topology.py

我面临同样的问题。您可以
scp/etc/hadoop/conf.cloudera.comUsername@Host:/etc/hadoop

在集群中的其他数据节点中,提交shell计算机并通知权限。希望对你来说没问题。

我希望这篇文章能提供更多信息,而不是指向一个封闭的链接。我从Cloudera Manager下载了客户端配置文件,文件夹名称与conf.Cloudera.spirn不同。此外,topology.py上没有执行权限。我检查了群集节点,它们具有预期的名称和权限。在群集模式下运行应用程序不会更改错误,因此无法解决问题