我正在尝试用CDH在纱线上运行一个pyspark,在这个pyspark主程序中,有一个类似rdd.pipe("XXX.sh")的语句,每次运行它时,都会弹出一个权限被拒绝的错误,我该怎么办来解决这个错误?谢谢。
Erro 日志信息就像吹一样:
文件"/data/yarn/nm/usercache/work/appcache/application_1495632173402_0079/container_1495632173402_0079_01_000001/pyspark.zip/pyspark/rdd.py",第 2346 行,pipeline_func 文件"/data/yarn/nm/usercache/work/appcache/application_1495632173402_0079/container_1495632173402_0079_01_000001/pyspark.zip/pyspark/rdd.py",第 2346 行,pipeline_func 文件"/data/yarn/nm/usercache/work/appcache/application_1495632173402_0079/container_1495632173402_0079_01_000001/pyspark.zip/pyspark/rdd.py",第 2346 行,pipeline_func 文件 "/data/yarn/nm/usercache/work/appcache/application_1495632173402_0079/container_1495632173402_0079_01_000001/pyspark.zip/pyspark/rdd.py",第 317 行,在 func 中 文件 "/data/yarn/nm/usercache/work/appcache/application_1495632173402_0079/container_1495632173402_0079_01_000001/pyspark.zip/pyspark/rdd.py",第 715 行,在 func 中 文件 "/usr/lib64/python2.6/subprocess.py",第 642 行,在initerrread, errwrite) 文件 "/usr/lib64/python2.6/subprocess.py",第 1234 行,_execute_child 提高child_exception OSError: [Errno 13] 权限被拒绝
at org.apache.spark.api.python.PythonRunner$$anon$1.read(PythonRDD.scala:166)
at org.apache.spark.api.python.PythonRunner$$anon$1.<init>(PythonRDD.scala:207)
at org.apache.spark.api.python.PythonRunner.compute(PythonRDD.scala:125)
at org.apache.spark.api.python.PythonRDD.compute(PythonRDD.scala:70)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:306)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:270)
at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:306)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:270)
at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38
最后我通过以下方式解决了它 chmod 777 -R/bashPath
问题是权限 Denied.So 首先,我认为可能主或从没有执行 bash 的权限。但是在我执行命令"chmod +x XXX.sh"并提交任务后,同样的错误就在那里。然后我认为它是否还需要可读权限。所以我试了这个。这确实有效