今天通过java api写hdfs文件,出现如题的异常。
原因很明显,就是该用户没有相应目录的权限。
hdp 就是相应目录的owner
解决办法:添加 System.setProperty("HADOOP_USER_NAME", "hdp");
System.setProperty("HADOOP_USER_NAME", "hdp");
FSDataOutputStream os = hdfs.create(new Path(newFile));
XMLWriter writer = new XMLWriter(os, format); //调用write方法将doc文档写到指定路径
writer.write(doc);
writer.close();
os.close();
hdfs.close();这个其实是一个漏洞,如果用户使用root或者其他目录的用户名,就可以对相应的目录进行任何操作,所以还是很危险的。
作者:pcqlegend
链接:https://www.jianshu.com/p/8f0c0f2e872b