在Hadoop Java API中指定用户名和组?

时间:2016-01-03 20:58:13

标签: java hadoop

我想使用特定组中的特定用户访问HDFS文件。我知道如何在给定代码中指定用户:

UserGroupInformation ugi
                = UserGroupInformation.createRemoteUser("hbase");

ugi.doAs(new PrivilegedExceptionAction<Void>() {

     public Void run() throws Exception {

     Configuration conf = new Configuration();
     conf.set("fs.defaultFS", "hdfs://1.2.3.4:8020/user/hbase");
     conf.set("hadoop.job.ugi", "hbase");
     FileSystem fs = FileSystem.get(conf);
     fs.createNewFile(new Path("/user/hbase/test"));
     FileStatus[] status = fs.listStatus(new Path("/user/hbase"));
     for(int i=0;i<status.length;i++){
        System.out.println(status[i].getPath());
     }
     return null;
   }
 });

所以我还需要指定组名。如何指定组名和用户名?

1 个答案:

答案 0 :(得分:0)

Hadoop组由Hadoop用户名组映射确定,如here

所述