• 通过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. 参照STM32时钟树配置STM32CubeMX Clock Configuration(STM32L011G4U6为例)
  2. linux压缩一个文件的命令行,linux下用命令行解压缩文件
  3. ELK学习1_开源分布式搜索平台ELK+Redis+Syslog-ng实现日志实时搜索
  4. android 文字fly动画,超好看的下拉刷新动画Android代码实现
  5. CompletableFuture详解~acceptEither
  6. 信息学奥赛一本通(1257:Knight Moves)
  7. 如何对报表的参数控件赋值
  8. 斯坦福NLP笔记51 —— An Intro to Parts of Speech and POS
  9. Redis的复制(Master/Slave)
  10. Netty+SpringBoot+FastDFS+Html5实现聊天App详解(四)
  11. 农学院计算机考试题,天津农学院计算机考试参考.doc
  12. python读取excel绘图y轴设置_python读取并定位excel数据坐标系详解
  13. 外汇交易系统(自动化/程序化/量化/EA)
  14. 实现安卓中TextView,EditText中数字的数码管字体显示
  15. Java解压ZIP、RAR文件
  16. Apple 开发者账户类型
  17. 网页使用中文字体的两种解决方案
  18. 20180626 STM32 ---利用KILE5 仿真IO口的波形图
  19. 【Java进阶营】什么是真正的架构设计?某厂十年Java经验让我总结出了这些,不愧是我
  20. 写在2015的尾巴上

热门文章

  1. css选择器优先级问题
  2. java高校会议室预约系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  3. 美国计算机科学专业申请条件,美国留学:美国计算机科学专业申请条件
  4. 安装Mysql服务教程
  5. stdout, stdin, stderr的区别
  6. 遇见王沥川的人生感悟_《遇见王沥川》悲情收官 四年守候终赢粉丝心
  7. iOS--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook等系统服务开发汇总
  8. 在创新与管理的灰色地带,谁能被称为理解AI的律师?
  9. 如何取消应用程序开机自启动
  10. C++ setprecision用法详解