Stack trace: ExitCodeException exitCode=15 OR File does not exist: hdfs:/spark2-history

spark on yarn集群运行程序报错:Stack trace: ExitCodeException exitCode=15:

查看yarn的聚合日志,将日志下载下来查看。

yarn logs -applicationId application_1522668922644_40211 -out ./info

发现日志内的错误如下

java.io.FileNotFoundException: File does not exist: hdfs:/spark2-history

Stack trace: ExitCodeException exitCode=15 OR File does not exist: hdfs:/spark2-history_第1张图片

是因为在HDFS上没改文件夹,然后我们去创建

# hdfs dfs -mkdir /spark2-history

有发现我们没有权限


产生问题原因:

      环境hadoop2,Ambari创建

      使用# hdfs dfs -mdkir /spark2-history创建文件路径时,出现权限问题

无论是用 # sudo hadoop fs -mkdir /spark2-history建立文件 还是 put文件,都会显示

       Permission denied: user=root, access=WRITE, inode="/spark2-history" :hdfs:hdfs:drwxr-xr-x
之类的错误,面对这个错误我们改如何解决那?

其实是这样的,/spark2-history这是文件的所有者是HDFS  权限为755  也就是只有HDFS才能对这个文件进行sudo的操作

那么接下来我们便可以这样操作文件

    # sudo -u hdfs hadoop fs -mkdir /spark2-history    我们可以以hdfs的身份对文件进行操作

        

如果出入#  sudo -u hdfs -dfs  -chmod 777 /spark2-history  那么结果便是将/spark2-history的读写执行权限修改。

       

在通过hdfs用户更改所在用户的权限

     #  sudo -u hdfs hadoop fs -chown spark:hadoop /spark2-history

        

完美OK啦

你可能感兴趣的:(Spark)