本文共 1103 字,大约阅读时间需要 3 分钟。
CDH集群,在本地调试删除Hadoop文件,删除代码:
public boolean deletehDFS(String path, FileSystem fs) throws IOException { // 1.path例子:hdfs://cdh1:8020/upload/test/2019/1/16/6ba54bb41a9940548173f771e1b39099.rar // 2.FS的创建 // String FS_URL="hdfs://cdh1:8020"; // Configuration conf = new Configuration(); // conf.set("fs.defaultFS", FS_URL); // FileSystem FS= FileSystem.newInstance(conf); Path hdfsPath = new Path(path); try { return fs.delete(hdfsPath, false); } catch (IOException e) { e.printStackTrace(); throw e; } }
但是报错没有权限
[ERROR] 17:14:59.883 [main] ERROR com.infodt.hadoop.hdfs.HdfsApi - HdfsApi delete IOException org.apache.hadoop.security.AccessControlException: Permission denied: user=Lenovo, access=WRITE, inode="/uploadtest/2019/1/16":upload:upload:drwxr-xr-x
在调试电脑端用户是Lenovo是不符合文件操作权限的,所以,解决方法,就是先修改Hadoop文件的写权限给其他用户。
hdfs dfs -chmod -R 777 /uploadfile/
删除了6ba54...这个文件
结果
https://blog.csdn.net/u010886217/article/details/89278390