A standard Job, using a tHBaseConnection component, fails with the following warnings and errors when establishing a connection to the HBase server of a Kerberized Cloudera Hadoop Cluster:
[2017-11-14 12:47:32,817]-[]-[]-[]-[WARN]-security.UserGroupInformation : PriviledgedActionException as:lab_core@MY.REALM (auth:KERBEROS)
cause:org.apache.hadoop.ipc.RemoteException(javax.security.sasl.SaslException): GSS initiate failed
..
java.io.IOException: Failed to get result within timeout, timeout=60000ms
at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:221)
at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:61)
at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200)
at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:321)
at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:296)
at org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:161)
at org.apache.hadoop.hbase.client.ClientScanner.<init>(ClientScanner.java:156)
at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:867)
at org.apache.hadoop.hbase.MetaTableAccessor.fullScan(MetaTableAccessor.java:602)
at org.apache.hadoop.hbase.MetaTableAccessor.tableExists(MetaTableAccessor.java:366)
at org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java:411)
at org.apache.hadoop.hbase.client.HBaseAdmin.checkTableExistence(HBaseAdmin.java:1466)
at org.apache.hadoop.hbase.client.HBaseAdmin.isTableDisabled(HBaseAdmin.java:1499)
at org.apache.hadoop.hbase.client.HBaseAdmin.isTableDisabled(HBaseAdmin.java:1508)
at howto.copy_of_testkerberos_0_1.Copy_of_testKerberos.tFixedFlowInput_1Process(Copy_of_testKerberos.java:1357)
at howto.copy_of_testkerberos_0_1.Copy_of_testKerberos.tHBaseConnection_3Process(Copy_of_testKerberos.java:1054
Problem root cause
The HBase Region Server Principal property of the tHBaseConnection component is not formatted correctly.
Solution or Workaround
Ensure that the HBase Region Server Principal property of the tHBaseConnection component is set using the following format:
hbase/_HOST@YOUR-REALM.COM
YOUR-REALM.COM stands for the name of your Kerberos realm.