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

     

  • 相关阅读:
    【前端】
    Ember.js 应用入口
    Apache 反向代理实现为http添加https的外衣
    OAuth2.0 四种授权模式
    MongoDB查询重复记录并保存到文件csv
    8000用户同时在线的服务器需求分析
    Bootstrap杂记
    Virtual Box 杂记
    RESTful API你怎么看?
    使用 ASP.NET Core 作为 mediasoup 的信令服务器
  • 原文地址:https://www.cnblogs.com/fangyuandoit/p/13713906.html
Copyright © 2020-2023  润新知