我有一个使用HBase连接的Spark Streaming应用程序(1.6) .
如果我使用 --deploy-mode client
提交应用程序,一切正常,但如果我使用 cluster
模式,应用程序将失败并返回以下错误:
WARN ipc.RpcClientImpl:连接到服务器时遇到异常:javax.security.sasl.SaslException:GSS启动失败[由GSS异常引起:未提供有效凭据(机制级别:无法找到任何Kerberos tgt)] ERROR ipc.RpcClientImpl :SASL身份验证失败 . 最可能的原因是凭据丢失或无效 . 考虑'kinit' . javax.security.sasl.SaslException:GSS启动失败[由GSSException引起:未提供有效凭据(机制级别:无法找到任何Kerberos tgt)]
在应用程序内部,对于每个已处理的RDD,我检查TGT并最终从keytab重新登录,使用
UserGroupInformation.getLoginUser.checkTGTAndReloginFromKeytab()
我还使用 spark.driver.extraClassPath
选项传递包含hdfs / hbase / core-site.xml文件的目录 .
有人可以帮帮我吗?