安全hbase应用程序-kerberos身份验证

qlzsbp2j  于 2021-06-09  发布在  Hbase
关注(0)|答案(1)|浏览(338)

我正在运行一个无限循环来测试kerberos凭据的过期,我有以下代码。

UserGroupInformation.loginUserFromKeytab(user, keytablocn);
Configuration config = HBaseConfiguration.create();
HConnection conn = HConnectionManager.createConnection(config);

for (;;) {
HTableInterface ht = conn.getTable(tableName);
getAndPriintRow(rowkey);
}

我预计kerberos凭据将在程序启动后大约10小时过期(在我们的环境中,linux shell上使用keytab的kinit需要在大约10小时后重新登录)。
然而,我在日志中看到大约10小时后是:
2006年3月15日12:39:54调试org.apache.hadoop.security.usergroupinformation:privilegedaction as:(auth:kerberos) from:org.apache.hadoop.hbase.ipc.rpcclient$connection.handlesaslconnectionfailure(rpcclient。java:796)2006年3月15日12:39:54 debug org.apache.hadoop.security.usergroupinformation:启动注销2006年3月15日12:39:54 debugorg.apache.hadoop.security.usergroupinformation:hadoop注销15/03/06 12:39:54调试org.apache.hadoop.security.usergroupinformation:为***启动重新登录15/03/06 12:39:55调试org.apache.hadoop.security.usergroupinformation:hadoop登录
checktgtandreloginfromkeytab()方法以某种方式被调用。我不知道这个方法是怎么被调用的。这允许程序永久运行。这是设计的吗?重新登录是什么意思?

oug3syen

oug3syen1#

这是按设计的。当会话过期时,它将尝试重新登录。
此功能使hbase客户机在应用程序服务器中使用时能够永远保持运行。

相关问题