hadoop hdfs 创建问价权限问题

先贴代码和报错信息


package com.readfile;

import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class MkdirOrRmmkdir {

	public static void main(String[] args) throws Exception {
		mkdir("/hadooptem/");
	}
	
	
	/**mkdir  like /ome/data/
	 * @param path
	 */
	public static void mkdir(String dir)throws Exception{
		if(!dir.endsWith("/")){
			dir = dir + "/";
		}
		FileSystem fs = HdfsUtils.getFilesystem();
		Path path =new Path(dir);
		if(fs.exists(path)){
			throw new RuntimeException("direction is exists");
		}
		
		boolean mkdirFlag = fs.mkdirs(path);
		if(mkdirFlag){
			System.out.println("mkdir success");
		}else{
			System.out.println("mkdir failure");
		}
		
		
		
	}

}



Exception in thread "main" org.apache.hadoop.security.AccessControlException: 

Permission denied: user=fy, access=WRITE, inode="/":root:supergroup:drwxr-xr-x



大概意思就是我的创建文件夹没有权限



查了一下   ,网上说可以改hadoop/conf下或者hadoop//etc/hadop  下的hdfs-site.xml或者hdfs-core.xml  里面的<name>dfs.permissions</name>
<value>false</value>的配置 。我自己没有找到  ,就没有用这种  


--------------------------------------------------


我用的是另外一种 。因为我创建的目录是  /hadooptem/   ,所以我直接修改  /  的权限 命令    hadoop fs -chmod 777 /


之后代码创建文件就OK 了

 

原文地址:https://www.cnblogs.com/fangyuandoit/p/13713906.html