kylin-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ShaoFeng Shi <shaofeng...@apache.org>
Subject Re: Is kylin support kerberos while using cube connecting to HBASE?
Date Fri, 16 Jun 2017 06:14:19 GMT
Hi Ran,

I'm afraid Spark couldn't connect to HBase cluster when it enables Kerberos
authentication, a JIRA is open for this:
https://issues.apache.org/jira/browse/KYLIN-2653

2017-06-15 13:59 GMT+08:00 ran gabriele <ran.gabriele@live.com>:

> Well, I find this in debug mode:
>
> 17/06/15 11:12:13 DEBUG Client: HBase Class not found:
> java.lang.ClassNotFoundException: org.apache.hadoop.hbase.
> HBaseConfiguration
>
> I find the method and also find
> 'org.apache.hbase:hbase-common:0.98.7-hadoop2' in maven:
>
> def obtainTokenForHBase(
>       sparkConf: SparkConf,
>       conf: Configuration,
>       credentials: Credentials): Unit = {
>     if (shouldGetTokens(sparkConf, "hbase") &&
> UserGroupInformation.isSecurityEnabled) {
>       val mirror = universe.runtimeMirror(getClass.getClassLoader)
>
>       try {
>         val confCreate = mirror.classLoader.
>           loadClass("org.apache.hadoop.hbase.HBaseConfiguration").
>           getMethod("create", classOf[Configuration])
>         val obtainToken = mirror.classLoader.
>           loadClass("org.apache.hadoop.hbase.security.token.TokenUtil").
>           getMethod("obtainToken", classOf[Configuration])
>
>         logDebug("Attempting to fetch HBase security token.")
>
>         val hbaseConf = confCreate.invoke(null,
> conf).asInstanceOf[Configuration]
>         if ("kerberos" == hbaseConf.get("hbase.security.authentication"))
> {
>           val token = obtainToken.invoke(null,
> hbaseConf).asInstanceOf[Token[TokenIdentifier]]
>           credentials.addToken(token.getService, token)
>           logInfo("Added HBase security token to credentials.")
>         }
>       } catch {
>         case e: java.lang.NoSuchMethodException =>
>           logInfo("HBase Method not found: " + e)
>         case e: java.lang.ClassNotFoundException =>
>           logDebug("HBase Class not found: " + e)
>         case e: java.lang.NoClassDefFoundError =>
>           logDebug("HBase Class not found: " + e)
>         case e: Exception =>
>           logError("Exception when obtaining HBase security token: " + e)
>       }
>     }
>   }
>
> Thus do you have any idea about what should I do to solve this problem?
>
> --
> View this message in context: http://apache-kylin.74782.x6.
> nabble.com/Is-kylin-support-kerberos-while-using-cube-connecting-to-HBASE-
> tp8028p8241.html
> Sent from the Apache Kylin mailing list archive at Nabble.com.
>



-- 
Best regards,

Shaofeng Shi 史少锋

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message