利用 Hadoop FileSystem 和 FsPermission mkdirs 方法创建目录 实现HDFS操作

来源:互联网 发布:手机淘宝怎样付款 编辑:程序博客网 时间:2024/06/06 00:31

Hadoop 版本 2.7.0

package com.feng.test.hdfs.filesystem;import java.io.IOException;import java.net.URI;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.fs.permission.FsAction;import org.apache.hadoop.fs.permission.FsPermission;/** * 创建目录并设置权限 * 远程调用机器 需要 liunx 修改 /etc/hosts 添加 10.11.12.4 master * @author feng * */public class CreateDir {    public static void main(String[] args) {        FileSystem hdfs = null;        try{            Configuration config = new Configuration();            // 程序配置            config.set("fs.default.name", "hdfs://master:9000");            hdfs = FileSystem.get(new URI("hdfs://master:9000"),                    config, "feng");            Path path = new Path("/feng/tmp/"+System.currentTimeMillis());            if(hdfs.exists(path)){                System.out.println("There is already exist " + path);            }else{                FsPermission filePermission = null;                filePermission = new FsPermission(                        FsAction.ALL, //user action                        FsAction.ALL, //group action                        FsAction.READ);//other action                //创建目录 不设置权限,默认为当前hdfs服务器启动用户                //boolean success = hdfs.mkdirs(path, null);                boolean success = hdfs.mkdirs(path, filePermission);                System.out.println(path + " is success " + success);            }        }catch(Exception e){            e.printStackTrace();        }finally{            if(hdfs != null){                try {                    hdfs.closeAll();                } catch (Exception e) {                    e.printStackTrace();                }            }        }    }}
0 0
原创粉丝点击