public class TestHbaseKerberos {
private static final String HBASE_MASTER_PRINCIPAL = "hbase/_HOST@EXAMPLE.COM";
private static final String HBASE_RS_PRINCIPAL = "hbase/_HOST@EXAMPLE.COM";
public static void main(String[] args) throws Exception {
final String user = "hbase-xxx@EXAMPLE.COM";
final String keyPath = "hbase.headless.keytab";
Configuration conf = new Configuration();
// 与hbase/conf/hbase-site.xml中hbase.zookeeper.quorum配置的值相同
conf.set("hbase.zookeeper.quorum", "xxx.xxx.xxx.xxx");
// 与hbase/conf/hbase-site.xml中hbase.zookeeper.property.clientPort配置的值相同
conf.set("hbase.zookeeper.property.clientPort", "2181");
conf.set(HConstants.ZOOKEEPER_ZNODE_PARENT, "/hbase-secure");
conf.set("hbase.security.authentication", "kerberos");
conf.set("hadoop.security.authentication", "kerberos");
conf.set("hbase.master.kerberos.principal", HBASE_MASTER_PRINCIPAL);
conf.set("hbase.regionserver.kerberos.principal", HBASE_RS_PRINCIPAL);
UserGroupInformation.setConfiguration(conf);
UserGroupInformation.loginUserFromKeytab(user, keyPath);
HBaseOperation hbase = new HBaseOperation(conf);
// 2.4查询整个Table
List<Result> list = null;
list = hbase.getAllRecord("ambarismoketest");
Iterator<Result> it = list.iterator();
while(it.hasNext()) {
Result rs2 = it.next();
for(KeyValue kv: rs2.raw()) {
System.out.print("row key is : " + new String(kv.getRow()));
System.out.print("family is : " + new String(kv.getFamily()));
System.out.print("qualifier is:" + new String(kv.getQualifier()));
System.out.print("timestamp is:" + kv.getTimestamp());
System.out.println("Value is : " + new String(kv.getValue()));
}
}
}
}
HBase(使用kerberos)服务请求客户端程序
最新推荐文章于 2025-06-13 20:16:29 发布