• 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 了

     

  • 相关阅读:
    jsp中添加弹窗口并且实现向后台双向传递数据
    hql中or的用法(代替union)
    hql中in的用法
    spring中的定时任务调度用例
    JS如何将UTC格式时间转本地格式
    HttpSession与Hibernate中Session的区别
    adaptive hash index
    InnoDB Double write
    int(M)与int
    MySQL库目录下db.opt文件的作用
  • 原文地址:https://www.cnblogs.com/fangyuandoit/p/13713906.html
Copyright © 2020-2023  润新知