Hi All,

i’ve written a STORM topology with a HDFS and a HBase Bolt, which runs absolutely fine with kerberos turned off in my hadoop cluster.

With activated security in the cluster, the HDFS Bolts works like a charm, but I encounter authentication errors with the HBase Bolt.

Accessing HBase shell with a Kerberos ticket works also absolutely fine.

The java exception in the Storm topology log is as follows:

2015-03-15 12:21:11 o.a.h.h.i.RpcClient [WARN] Exception encountered while connecting to the server : javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSExcept$

2015-03-15 12:21:11 o.a.h.h.i.RpcClient [ERROR] SASL authentication failed. The most likely cause is missing or invalid credentials. Consider 'kinit'.

javax.security.sasl.SaslException: GSS initiate failed

at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:212) ~[na:1.7.0_45]

at org.apache.hadoop.hbase.security.HBaseSaslRpcClient.saslConnect(HBaseSaslRpcClient.java:177) ~[stormjar.jar:na]

at org.apache.hadoop.hbase.ipc.RpcClient$Connection.setupSaslConnection(RpcClient.java:815) [stormjar.jar:na]

at org.apache.hadoop.hbase.ipc.RpcClient$Connection.access$800(RpcClient.java:349)[stormjar.jar:na]

at org.apache.hadoop.hbase.ipc.RpcClient$Connection$2.run(RpcClient.java:943) ~[stormjar.jar:na]

at org.apache.hadoop.hbase.ipc.RpcClient$Connection$2.run(RpcClient.java:940) ~[stormjar.jar:na]

at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_45]

at javax.security.auth.Subject.doAs(Subject.java:415) ~[na:1.7.0_45]

at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628) ~[hadoop-common-2.6.0.2.2.0.0-2041.jar:na]

at org.apache.hadoop.hbase.ipc.RpcClient$Connection.setupIOstreams(RpcClient.java:940) [stormjar.jar:na]

at org.apache.hadoop.hbase.ipc.RpcClient$Connection.writeRequest(RpcClient.java:1094) [stormjar.jar:na]

at org.apache.hadoop.hbase.ipc.RpcClient$Connection.tracedWriteRequest(RpcClient.java:1061) [stormjar.jar:na]

at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1516) [stormjar.jar:na]

at org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1724) [stormjar.jar:na]

at org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1777) [stormjar.jar:na]

at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.get(ClientProtos.java:30373) [stormjar.jar:na]

at org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRowOrBefore(ProtobufUtil.java:1604) [stormjar.jar:na]

at org.apache.hadoop.hbase.client.HTable$2.call(HTable.java:768) [stormjar.jar:na]

at org.apache.hadoop.hbase.client.HTable$2.call(HTable.java:766) [stormjar.jar:na]

at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:126) [stormjar.jar:na]

at org.apache.hadoop.hbase.client.HTable.getRowOrBefore(HTable.java:772) [stormjar.jar:na]

at org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:160) [stormjar.jar:na]

at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.prefetchRegionCache(ConnectionManager.java:1222) [stormjar.jar:na]

at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegionInMeta(ConnectionManager.java:1286) [stormjar.jar:na]

at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1135) [stormjar.jar:na]

at org.apache.hadoop.hbase.client.AsyncProcess.submit(AsyncProcess.java:362) [stormjar.jar:na]

at org.apache.hadoop.hbase.client.AsyncProcess.submit(AsyncProcess.java:313) [stormjar.jar:na]

at org.apache.hadoop.hbase.client.HTable.backgroundFlushCommits(HTable.java:1066) [stormjar.jar:na]

at org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:1344) [stormjar.jar:na]

at org.apache.hadoop.hbase.client.HTable.put(HTable.java:1001) [stormjar.jar:na]

at com.mhp.bigdata.storm.gt6.MHPHBaseBolt2.execute(MHPHBaseBolt2.java:159) [stormjar.jar:na]

at backtype.storm.daemon.executor$fn__5697$tuple_action_fn__5699.invoke(executor.clj:659) [storm-core-0.9.3.2.2.0.0-2041.jar:0.9.3.2.2.0.0-2041]

at backtype.storm.daemon.executor$mk_task_receiver$fn__5620.invoke(executor.clj:415) [storm-core-0.9.3.2.2.0.0-2041.jar:0.9.3.2.2.0.0-2041]

at backtype.storm.disruptor$clojure_handler$reify__1741.onEvent(disruptor.clj:58) [storm-core-0.9.3.2.2.0.0-2041.jar:0.9.3.2.2.0.0-2041]

at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:120) [storm-core-0.9.3.2.2.0.0-2041.jar:0.9.3.2.2.0.0-2041]

at backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:99) [storm-core-0.9.3.2.2.0.0-2041.jar:0.9.3.2.2.0.0-2041]

at backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:80) [storm-core-0.9.3.2.2.0.0-2041.jar:0.9.3.2.2.0.0-2041]

at backtype.storm.daemon.executor$fn__5697$fn__5710$fn__5761.invoke(executor.clj:794) [storm-core-0.9.3.2.2.0.0-2041.jar:0.9.3.2.2.0.0-2041]

at backtype.storm.util$async_loop$fn__452.invoke(util.clj:465) [storm-core-0.9.3.2.2.0.0-2041.jar:0.9.3.2.2.0.0-2041]

        at clojure.lang.AFn.run(AFn.java:24) [clojure-1.5.1.jar:na]

        at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]

Caused by: org.ietf.jgss.GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)

at sun.security.jgss.krb5.Krb5InitCredential.getInstance(Krb5InitCredential.java:147) ~[na:1.7.0_45]

at sun.security.jgss.krb5.Krb5MechFactory.getCredentialElement(Krb5MechFactory.java:121) ~[na:1.7.0_45]

at sun.security.jgss.krb5.Krb5MechFactory.getMechanismContext(Krb5MechFactory.java:187) ~[na:1.7.0_45]

at sun.security.jgss.GSSManagerImpl.getMechanismContext(GSSManagerImpl.java:223) ~[na:1.7.0_45]

at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:212) ~[na:1.7.0_45]

at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:179) ~[na:1.7.0_45]

at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:193) ~[na:1.7.0_45]

        ... 40 common frames omitted

My Storm Version is: 0.9.3.2.2.0.0

My HBase Version is: 0.98.4.2.2.0.0

Java JCE is installed. Kerberos is working fine for all other components of the cluster.

Is there any known bug? Or any chance to trace this issue down to its roots?

I’m looking forward to your responses.

Best regards

Frank

Reply via email to