• 通过API创建目录
  • 检查目录权限
  • 填坑思路
  • 处理方法

(一) 通过API创建目录

用JAVA代码调用HADOOP API创建目录,代码如下:

public class HdfsOps {

/**
    * Public static function
    */
    public static FileSystem iniConf() {
        FileSystem fs = null;
            try {
                Configuration configuration = new Configuration();
                fs = FileSystem.get(configuration);
            } catch (Exception e) {

}
             return fs;

}

/**
    * Make dir with permission 
    */
    public static void MkdirHdfs() throws IOException {
        Path path = new Path("/data/test");
        FsPermission permission = new FsPermission(FsAction.ALL, FsAction.ALL, FsAction.ALL);    #  全部权限(777)
        boolean mkdirs = iniConf().mkdirs(path, permission);
        System.out.println(mkdirs);
    }

public static void main(String[] args) throws Exception {

MkdirHdfs();

}

}

(二)查看目录权限

#> hdfs dfs -ls /data

会发现/data 目录下的test目录的权限是755(drwxr-xr-x), 填坑由此而来

(三) 填坑思路

查看HDFS的umask

#>  hdfs getconf -confkey fs.permissions.umask-mode

打印结果是022, 缘由在此处产生(777-022=755)

(四) 处理方法

  1. 1.在公共方法iniConf中添加配置设置代码如下

public static FileSystem iniConf() {
    FileSystem fs = null;
    try {
        Configuration configuration = new Configuration();
        configuration.set("fs.permissions.umask-mode", "000");
        fs = FileSystem.get(configuration);
   } catch (Exception e) {
   }
   return fs;
}

  1. 2. 在项目根目录下创建core-site.xml文件,配置umask,配置如下

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    <property>
        <name>fs.permissions.umask-mode</name>
        <value>000</value>
    </property>
</configuration>

解决HDFS目录无法创建777权限相关推荐

  1. java 创建 777 权限的目录

    场景描述 这次也是工作中遇到的问题,多个用户要往同一个磁盘目录下写文件,该目录谁先用到谁创建.这就要求创建的目录是公共可写的,但java创建目录大都是 755 权限的,不满足要求. 解决办法 代码如下 ...

  2. ubuntu修改新增用户的目录_Ubuntu 18.04下创建新用户/目录、修改用户权限及删除用户的方法...

    以下介绍在Ubuntu 18.04系统下创建新用户/目录.修改用户权限及删除用户的正确方法.在Ubuntu系统上创建新用户使用[sudo useradd 用户名]命令,但只能创建用户,不能在/home ...

  3. Ubuntu 18.04下创建新用户/目录、修改用户权限及删除用户的方法

    Ubuntu 18.04下创建新用户/目录.修改用户权限及删除用户的方法 以下介绍在Ubuntu 18.04系统下创建新用户/目录.修改用户权限及删除用户的正确方法.在Ubuntu系统上创建新用户使用 ...

  4. 如何查找Linux中所有777权限的文件?

    正确的设置文件权限是Linux系统管理中最关键的部分.一个权限为777的文件对每个人都是开放的,可以读和写.任何登录到系统的用户都可以对这个文件进行写入.这对您的服务器系统是具有很大的安全威胁的. 在 ...

  5. ubuntu下无法在目录下创建文件夹,权限不足解决办法

    ubuntu下无法在目录下创建文件夹,权限不足解决办法 Ubuntu linux系统下 su:出现: authentication failure的解决办法 ubuntu下 sudo passwd r ...

  6. java hdfs 指定用户目录_HDFS目录(文件 )权限管理

    用户身份 在1.0.4这个版本的Hadoop中,客户端用户身份是通过宿主操作系统给出.对类Unix系统来说, 用户名等于`whoami`: 组列表等于`bash -c groups`. 将来会增加其他 ...

  7. 云服务器文件777权限,云服务器目录权限设置

    云服务器目录权限设置 内容精选 换一换 执行chmod -R 777 / 导致CentOS云服务器根目录权限设置成777,系统中的大部分服务以及命令无法使用.此时可通过系统自带的getfacl命令来拷 ...

  8. 如何解决C盘根目录无法创建或写入文件

    现象:win10系统无法在C盘根目录下创建文件,但是可以新建文件夹(给用户加了写的权限也无效果) 解决办法:用管理员运行cmd 输入 icacls c:\ /setintegritylevel M

  9. oracle权限不足的报错,Oracle Scott创建视图权限不足解决办法

    大家安装了oracle数据库,按照oracle教程所说,使用scott用户登录,创建一个视图,有没有遇到错误提示:权限不足!,今天就告诉大家如何解决! 在PL/SQL Developer数据库管理工具 ...

最新文章

  1. 传百度要与阿里、腾讯争夺在线办公市场?“百度Hi”开放520人同时在线音视频会议
  2. vue - 减少打包后的体积
  3. java is alphabetic_JDK之Pattern类探索(一)
  4. 《算法竞赛入门经典》习题3-1 得分(Score,ACM、ICPC Seoul 2005,UVa1585)
  5. part-time job
  6. [雪峰磁针石博客]python网络基础工具书籍下载-持续更新
  7. 第三节:ES6中另一个不得不说的关键字const
  8. 反复出现的PSW木马, 附日志,请高手指点
  9. COACH与得物App达成官方合作 未来计划提供专供款商品
  10. 如何在ASP.NET Core中上传文档
  11. python数据存储系列教程——python(pandas)读写csv文件
  12. 文本文件 java_Java入门:读写文本文件
  13. codeforces:ProblemMset
  14. vue 打包css路径不对_vue项目打包后css背景图路径不对的问题
  15. Linux(6)文件和磁盘管理
  16. 我从可用性测试中学到的五件事
  17. ios怎么引入masonry_iOS Masonry的使用需要注意的地方
  18. TM(qq) 默认表情丢失
  19. 我的世界java版如何加披风_我的世界正版披风怎么换
  20. DRF总结(三)Serializer的使用

热门文章

  1. 教你怎么分析竞争对手
  2. Docker 1.13版本新增功能说明
  3. 转让权利,可以同时转移风险吗?
  4. 算法题(四十):BFS解决网易2017年笔试题——地牢逃脱
  5. win10查询计算机ip和用户名和密码,win10系统查询电脑ip子网掩码和默认网关的设置教程...
  6. 那些争议最大的编程观点(转)
  7. Android开发知识(十一):让你的应用接入微信分享,完美绕过微信分享的大坑
  8. 鸿蒙os官网应用,鸿蒙OS应用开发实践(四)
  9. 操作系统小练习(一)( 软考 期末考试 考研)
  10. 【数据结构】测试2 线性表