有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我想使用特定组中的特定用户访问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) 个答案

  1. # 1 楼答案

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