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



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

UserGroupInformation.loginUserFromKeytab(user, keytablocn);
Configuration config = HBaseConfiguration.create();
HConnection conn = HConnectionManager.createConnection(config);
for (;;) {
HTableInterface ht = conn.getTable(tableName);
getAndPriintRow(rowkey);
}

我预计kerberos凭据将在程序启动后大约10小时到期(在我们的环境中,使用keytab的linux shell上的kinit需要在大约10小时后重新登录)。

然而,大约10小时后,我在日志中看到的是:

2006年3月15日12:39:54调试org.apache.hadoop.security.UserGroupInformation:特权操作as:*(auth:KERBEROS)来自:org.apache.hoop.hbase.ipc.RpcClient$Connection.handleAslConnectionFailure(RpcClient.java:796)2006年3月15日12:39:54调试org.apache.hadoop.security.UserGroupInformation:正在启动的注销*2006年3月15日12:39:54调试org.apache.hadoop.security.UserGroup信息:hadoop注销2006年3月15日12:39:54调试org.apache.hadoop.security.UserGroupInformation:启动重新登录2006年3月15日12:39:55调试org.apache.hadoop.security.UserGroupInformation:hadoop登录

以某种方式调用了checkTGTAndReloginFromKeytab()方法。我不知道这个方法是怎么调用的。这允许程序永久运行。这是故意的吗?重新登录是什么?

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

相关内容

  • 没有找到相关文章

最新更新