老师可以描述下UserGroupInformation这个类是如何传递yarn客户端的用户信息到hdfs系统上的么

来源:7-7 Hadoop集群HDFS HA配置及测试

Joey_yxy

2023-07-08

不考虑ranger、sentry这些组件的情况下,UserGroupInformation这个类是如何传递yarn客户端的用户信息到hdfs系统上的呢

写回答

1回答

Michael_PK

2023-07-16


我在工作中使用到UserGroupInformation的场景有一个,就是在过kerberos认证时

String user="pk";

String keytabPath = "./pk.keytab";

System.setProperty("java.security.krb5.kdc", kdc); 

System.setProperty("java.security.krb5.realm", realm);

final Configuration conf = new Configuration();

UserGroupInformation ugi = UserGroupInformation.loginUserFromKeytabAndReturnUGI(userCode, keytabPath);

ugi.doAs(new PrivilegedAction<Object>() {

 

@Override

public Object run() {

try {

...  

} catch (IOException e) {

e.printStackTrace();

}

return null;

}

});


user是用户的名称,

keytabPath是keytab文件的路径,

一般系统是采用kdc生成的验证文件,来进行系统登录。

这里的ugi,就是kerberos的ticket, 是通过 UserGroupInformation.loginUserFromKeytabAndReturnUGI(user,keytabPath); 这个方法

成功后,返回的票据信息,通过这个票据,可以在没过期的情况下,用来访问hadoop系统


1
0

轻松入门大数据 一站式完成核心能力构建

大数据入门第一课,一站式完成核心能力构建

174 学习 · 59 问题

查看课程