still didn't determine the root cause. And happened to find a JIRA related
with my issue: https://issues.cloudera.org/browse/DISTRO-610.



On Thu, Jul 27, 2017 at 11:41 AM, wenxing zheng <wenxing.zh...@gmail.com>
wrote:

> Thanks to Shkti. Will have a try immediately.
>
> On Thu, Jul 27, 2017 at 11:15 AM, shakti singh Shekhawat <
> shaktisingh.shekhawa...@gmail.com> wrote:
>
>> Hi Wenxing,
>>
>> We recently had the same GSS Tgt issue when we moved to a Kerberized
>> cluster. The solution that worked for us was "Create a file to define Java
>> krb5login and name it as jaas.conf or jaas.java". Jaas authentication makes
>> Java applications independent of underlying authentication technology.
>>
>> Please refer the below link from Oracle (or search for "How to add jaas
>> configuration" in Google to see the 1st link in case the below link does
>> not work) for your application.
>> http://docs.oracle.com/javase/7/docs/technotes/guides/securi
>> ty/jgss/tutorials/LoginConfigFile.html
>>
>> Thanks,
>> Shakti Singh Shekhawat
>>
>> On Wed, Jul 26, 2017 at 10:42 PM wenxing zheng <wenxing.zh...@gmail.com>
>> wrote:
>>
>>> Dear all,
>>>
>>> We have a Hive in 2.1.1 and a web application running against the Hive
>>> server. Before enabling the Kerberos, everything is OK. But after enabling
>>> the Kerberos, it always failed to do the authentication.
>>>
>>>    - web application runs with: Jetty, hive client version: 1.2.1 and
>>>    JDK 1.7
>>>    - Hive runs with JDK 1.8
>>>    - but both JDKs are running with JCE jars.
>>>
>>>
>>> Followings are the errors:
>>>
>>>>
>>>> 2017-07-27 10:29:16,622  INFO hive.metastore:Trying to connect to
>>>> metastore with URI thrift://hdp-cli-01.dataservice.net:9083
>>>> 2017-07-27 10:29:16,793  WARN 
>>>> org.apache.hadoop.util.NativeCodeLoader:Unable
>>>> to load native-hadoop library for your platform... using builtin-java
>>>> classes where applicable
>>>> 2017-07-27 10:29:16,873  ERROR 
>>>> org.apache.thrift.transport.TSaslTransport:SASL
>>>> negotiation failure
>>>> javax.security.sasl.SaslException: GSS initiate failed [Caused by
>>>> GSSException: No valid credentials provided (Mechanism level: Failed to
>>>> find any Kerberos tgt)]
>>>> at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChalleng
>>>> e(GssKrb5Client.java:212)
>>>> at org.apache.thrift.transport.TSaslClientTransport.handleSaslS
>>>> tartMessage(TSaslClientTransport.java:94)
>>>> at org.apache.thrift.transport.TSaslTransport.open(TSaslTranspo
>>>> rt.java:271)
>>>> at org.apache.thrift.transport.TSaslClientTransport.open(TSaslC
>>>> lientTransport.java:37)
>>>> at org.apache.hadoop.hive.thrift.client.TUGIAssumingTransport$1
>>>> .run(TUGIAssumingTransport.java:52)
>>>> at org.apache.hadoop.hive.thrift.client.TUGIAssumingTransport$1
>>>> .run(TUGIAssumingTransport.java:49)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at javax.security.auth.Subject.doAs(Subject.java:415)
>>>> at org.apache.hadoop.security.UserGroupInformation.doAs(UserGro
>>>> upInformation.java:1657)
>>>> at org.apache.hadoop.hive.thrift.client.TUGIAssumingTransport.o
>>>> pen(TUGIAssumingTransport.java:49)
>>>> at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.open(
>>>> HiveMetaStoreClient.java:420)
>>>> at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(
>>>> HiveMetaStoreClient.java:236)
>>>> at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(
>>>> HiveMetaStoreClient.java:181)
>>>> at com.taobao.zeus.store.CliTableManager.initClient(CliTableMan
>>>> ager.java:60)
>>>> at com.taobao.zeus.store.CliTableManager.<init>(CliTableManager
>>>> .java:47)
>>>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>> Method)
>>>> at sun.reflect.NativeConstructorAccessorImpl.newInstance(Native
>>>> ConstructorAccessorImpl.java:57)
>>>> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(De
>>>> legatingConstructorAccessorImpl.java:45)
>>>> at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>>>> at org.springframework.beans.BeanUtils.instantiateClass(BeanUti
>>>> ls.java:100)
>>>> at org.springframework.beans.factory.support.SimpleInstantiatio
>>>> nStrategy.instantiate(SimpleInstantiationStrategy.java:61)
>>>> at org.springframework.beans.factory.support.AbstractAutowireCa
>>>> pableBeanFactory.instantiateBean(AbstractAutowi
>>>> reCapableBeanFactory.java:877)
>>>> at org.springframework.beans.factory.support.AbstractAutowireCa
>>>> pableBeanFactory.createBeanInstance(AbstractAut
>>>> owireCapableBeanFactory.java:839)
>>>> at org.springframework.beans.factory.support.AbstractAutowireCa
>>>> pableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFac
>>>> tory.java:440)
>>>> at org.springframework.beans.factory.support.AbstractAutowireCa
>>>> pableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at org.springframework.beans.factory.support.AbstractAutowireCa
>>>> pableBeanFactory.createBean(AbstractAutowireCapableBeanFacto
>>>> ry.java:380)
>>>> at org.springframework.beans.factory.support.AbstractBeanFactor
>>>> y$1.getObject(AbstractBeanFactory.java:264)
>>>> at org.springframework.beans.factory.support.DefaultSingletonBe
>>>> anRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>>>> at org.springframework.beans.factory.support.AbstractBeanFactor
>>>> y.doGetBean(AbstractBeanFactory.java:261)
>>>> at org.springframework.beans.factory.support.AbstractBeanFactor
>>>> y.getBean(AbstractBeanFactory.java:185)
>>>> at org.springframework.beans.factory.support.AbstractBeanFactor
>>>> y.getBean(AbstractBeanFactory.java:164)
>>>> at org.springframework.beans.factory.support.DefaultListableBea
>>>> nFactory.findAutowireCandidates(DefaultListableBeanFactory.java:671)
>>>> at org.springframework.beans.factory.support.DefaultListableBea
>>>> nFactory.resolveDependency(DefaultListableBeanFactory.java:610)
>>>> at org.springframework.beans.factory.annotation.AutowiredAnnota
>>>> tionBeanPostProcessor$AutowiredFieldElement.inject(A
>>>> utowiredAnnotationBeanPostProcessor.java:412)
>>>> at org.springframework.beans.factory.annotation.InjectionMetada
>>>> ta.injectFields(InjectionMetadata.java:105)
>>>> at org.springframework.beans.factory.annotation.AutowiredAnnota
>>>> tionBeanPostProcessor.postProcessAfterInstantiation(Autowire
>>>> dAnnotationBeanPostProcessor.java:240)
>>>> at org.springframework.beans.factory.support.AbstractAutowireCa
>>>> pableBeanFactory.populateBean(AbstractAutowireCapableBeanFac
>>>> tory.java:959)
>>>> at org.springframework.beans.factory.support.AbstractAutowireCa
>>>> pableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFac
>>>> tory.java:472)
>>>> at org.springframework.beans.factory.support.AbstractAutowireCa
>>>> pableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at org.springframework.beans.factory.support.AbstractAutowireCa
>>>> pableBeanFactory.createBean(AbstractAutowireCapableBeanFacto
>>>> ry.java:380)
>>>> at org.springframework.beans.factory.support.AbstractBeanFactor
>>>> y$1.getObject(AbstractBeanFactory.java:264)
>>>> at org.springframework.beans.factory.support.DefaultSingletonBe
>>>> anRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>>>> at org.springframework.beans.factory.support.AbstractBeanFactor
>>>> y.doGetBean(AbstractBeanFactory.java:261)
>>>> at org.springframework.beans.factory.support.AbstractBeanFactor
>>>> y.getBean(AbstractBeanFactory.java:185)
>>>> at org.springframework.beans.factory.support.AbstractBeanFactor
>>>> y.getBean(AbstractBeanFactory.java:164)
>>>> at org.springframework.beans.factory.support.DefaultListableBea
>>>> nFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
>>>> at org.springframework.context.support.AbstractApplicationConte
>>>> xt.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
>>>> at org.springframework.context.support.AbstractApplicationConte
>>>> xt.refresh(AbstractApplicationContext.java:380)
>>>> at org.springframework.web.context.ContextLoader.createWebAppli
>>>> cationContext(ContextLoader.java:255)
>>>> at org.springframework.web.context.ContextLoader.initWebApplica
>>>> tionContext(ContextLoader.java:199)
>>>> at org.springframework.web.context.ContextLoaderListener.contex
>>>> tInitialized(ContextLoaderListener.java:45)
>>>> at org.eclipse.jetty.server.handler.ContextHandler.callContextI
>>>> nitialized(ContextHandler.java:800)
>>>> at org.eclipse.jetty.servlet.ServletContextHandler.callContextI
>>>> nitialized(ServletContextHandler.java:444)
>>>> at org.eclipse.jetty.server.handler.ContextHandler.startContext
>>>> (ContextHandler.java:791)
>>>> at org.eclipse.jetty.servlet.ServletContextHandler.startContext
>>>> (ServletContextHandler.java:294)
>>>> at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppCon
>>>> text.java:1349)
>>>> at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppCo
>>>> ntext.java:1342)
>>>> at org.eclipse.jetty.server.handler.ContextHandler.doStart(
>>>> ContextHandler.java:741)
>>>> at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext
>>>> .java:505)
>>>> at org.eclipse.jetty.util.component.AbstractLifeCycle.start(
>>>> AbstractLifeCycle.java:68)
>>>> at org.eclipse.jetty.deploy.bindings.StandardStarter.processBin
>>>> ding(StandardStarter.java:41)
>>>> at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCyc
>>>> le.java:186)
>>>> at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(De
>>>> ploymentManager.java:498)
>>>> at org.eclipse.jetty.deploy.DeploymentManager.addApp(Deployment
>>>> Manager.java:146)
>>>> at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileA
>>>> dded(ScanningAppProvider.java:180)
>>>> at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(
>>>> WebAppProvider.java:440)
>>>> at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.
>>>> fileAdded(ScanningAppProvider.java:64)
>>>> at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:609)
>>>> at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:528)
>>>> at org.eclipse.jetty.util.Scanner.scan(Scanner.java:391)
>>>> at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313)
>>>> at org.eclipse.jetty.util.component.AbstractLifeCycle.start(
>>>> AbstractLifeCycle.java:68)
>>>> at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doSta
>>>> rt(ScanningAppProvider.java:150)
>>>> at org.eclipse.jetty.util.component.AbstractLifeCycle.start(
>>>> AbstractLifeCycle.java:68)
>>>> at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(
>>>> DeploymentManager.java:560)
>>>> at org.eclipse.jetty.deploy.DeploymentManager.doStart(Deploymen
>>>> tManager.java:235)
>>>> at org.eclipse.jetty.util.component.AbstractLifeCycle.start(
>>>> AbstractLifeCycle.java:68)
>>>> at org.eclipse.jetty.util.component.ContainerLifeCycle.start(
>>>> ContainerLifeCycle.java:132)
>>>> at org.eclipse.jetty.server.Server.start(Server.java:387)
>>>> at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(
>>>> ContainerLifeCycle.java:114)
>>>> at org.eclipse.jetty.server.handler.AbstractHandler.doStart(
>>>> AbstractHandler.java:61)
>>>> at org.eclipse.jetty.server.Server.doStart(Server.java:354)
>>>> at org.eclipse.jetty.util.component.AbstractLifeCycle.start(
>>>> AbstractLifeCycle.java:68)
>>>> at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguratio
>>>> n.java:1255)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration
>>>> .java:1174)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
>>>> ssorImpl.java:57)
>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
>>>> thodAccessorImpl.java:43)
>>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>>> at org.eclipse.jetty.start.Main.invokeMain(Main.java:321)
>>>> at org.eclipse.jetty.start.Main.start(Main.java:817)
>>>> at org.eclipse.jetty.start.Main.main(Main.java:112)
>>>> Caused by: GSSException: No valid credentials provided (Mechanism
>>>> level: Failed to find any Kerberos tgt)
>>>> at sun.security.jgss.krb5.Krb5InitCredential.getInstance(Krb5In
>>>> itCredential.java:147)
>>>> at sun.security.jgss.krb5.Krb5MechFactory.getCredentialElement(
>>>> Krb5MechFactory.java:121)
>>>> at sun.security.jgss.krb5.Krb5MechFactory.getMechanismContext(K
>>>> rb5MechFactory.java:187)
>>>> at sun.security.jgss.GSSManagerImpl.getMechanismContext(GSSMana
>>>> gerImpl.java:223)
>>>> at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextIm
>>>> pl.java:212)
>>>> at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextIm
>>>> pl.java:179)
>>>> at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChalleng
>>>> e(GssKrb5Client.java:193)
>>>> ... 94 more
>>>
>>>
>>> Appreciated for your advice.
>>> Kind Regards, Wenxing
>>>
>>
>

Reply via email to