Kerberized HBase 1.2.x Java客户端连接池示例

时间:2019-02-04 10:37:26

标签: java hbase connection-pooling kerberos

根据HBase文档,org.apache.hadoop.hbase.client.Connection可以在线程之间安全地共享。 我发现了一些在整个应用程序之间共享单个连接的示例(例如this answer),但我正在寻找一个具有 kerberized 的Web应用程序的连接池的清晰示例。 HBase下面。

例如方法中的单个连接(假设HBaseConfigurationSingleton是一个包含kerberos凭证+ hbase配置内容的单例):

String principal = HBaseConfigurationSingleton.getInstance().getPrincipal();
String keytabLocation = HBaseConfigurationSingleton.getInstance().getKeytabLocation();
UserGroupInformation.setConfiguration(HBaseConfigurationSingleton.getInstance().getConfiguration());
UserGroupInformation.loginUserFromKeytab(principal, keytabLocation);

Connection connection = ConnectionFactory.createConnection(HBaseConfigurationSingleton.getInstance().getConfiguration());

try {
    //HBase magic stuff here
} finally {
    // closing scanner/tables etc.
    connection.close();
}

0 个答案:

没有答案