You were right ! Thanks a lot, I didn't checked this property as I thought
Ambari set it to true when enabling Kerberos.
Thanks again,

Loïc

Loïc CHANEL
Engineering student at TELECOM Nancy
Trainee at Worldline - Villeurbanne

2015-09-09 19:53 GMT+02:00 Takahiko Saito <tysa...@gmail.com>:

> Hi Loic,
>
> One possible solution is if hive.server2.enable.doAs is set false in
> hive-site.xml, you can change it to true and restart HiveServer2. And then
> try to connect via beeline.
>
> Cheers,
>
> On Wed, Sep 9, 2015 at 8:02 AM, Loïc Chanel <loic.cha...@telecomnancy.net>
> wrote:
>
>> Hi guys !
>>
>> Sorry to interrupt but I need to go back to the first reason of this
>> thread : I can't connect to hive anymore.
>> I upgraded my cluster to HDP 2.3, and I saw that the way to connect to
>> Hive via Beeline & Kerberos hasn't changed, but the exact command that
>> worked before doesn't work anymore.
>> Instead of connecting, Beeline returns me :
>> Error: Failed to open new session: java.lang.RuntimeException:
>> java.lang.RuntimeException:
>> org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException):
>> User: hive/hiveserverh...@example.com is not allowed to impersonate
>> testUser (state=,code=0)
>>
>> The logs are not more explicit, as there is an exception with the same
>> conclusion : Caused by:
>> org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException):
>> User: hive/hiveserverh...@example.com is not allowed to impersonate
>> testUser
>>
>> Do any of you have an idea about where this could come from ?
>>
>>
>>
>> Loïc CHANEL
>> Engineering student at TELECOM Nancy
>> Trainee at Worldline - Villeurbanne
>>
>> 2015-08-31 13:51 GMT+02:00 Lars Francke <lars.fran...@gmail.com>:
>>
>>> That said, +1 to adding a check that we are using kerberos and skipping
>>>> the prompt if we are. I think we probably don't even need to parse the URL
>>>> to detect that. Just checking on the auth type property(
>>>> hive.server2.authentication) is KERBEROS or not should do the trick.
>>>>
>>>
>>> I have not looked into this at all but Beeline being a generic client
>>> does it even use that property? I mean I could connect to any server,
>>> right? Will try to take a look.
>>>
>>>
>>>> [1]
>>>> https://github.com/apache/hive/blob/3991dba30c5068cac296f32e24e97cf87efa266c/jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java#L450-L455
>>>>
>>>> On Wed, Aug 26, 2015 at 5:40 PM, Lars Francke <lars.fran...@gmail.com>
>>>> wrote:
>>>>
>>>>>
>>>>> On Wed, Aug 26, 2015 at 4:53 PM, kulkarni.swar...@gmail.com <
>>>>> kulkarni.swar...@gmail.com> wrote:
>>>>>
>>>>>> > my understanding is that after using kerberos authentication, you
>>>>>> probably don’t need the password.
>>>>>>
>>>>>> That is not an accurate statement. Beeline is a JDBC client as
>>>>>> compared to Hive CLI which is a thrift client to talk to HIveServer2. So 
>>>>>> it
>>>>>> would need the password to establish that JDBC connection. If you look at
>>>>>> the beeline console code[1], it actually first tries to read the
>>>>>> "javax.jdo.option.ConnectionUserName" and
>>>>>> "javax.jdo.option.ConnectionPassword" property which is the same username
>>>>>> and password that you have setup your backing metastore DB with. If it is
>>>>>> MySWL, it would be the password you set MySQL with or empty if you
>>>>>> haven't(or are using derby). Kerberos is merely a tool for you to
>>>>>> authenticate yourself so that you cannot impersonate yourself as someone
>>>>>> else.
>>>>>>
>>>>>
>>>>> I don't think what you're saying is accurate.
>>>>>
>>>>> 1) Hive CLI does not talk to HiveServer2
>>>>>
>>>>> 2) Beeline talks to HiveServer2 and needs some way to authenticate
>>>>> itself depending on the configuration of HS2.
>>>>>
>>>>> HS2 can be configured to authenticate in one of these ways if I'm up
>>>>> to date:
>>>>>
>>>>> * NOSASL: no password needed
>>>>> * KERBEROS (SASL): no password needed
>>>>> * NONE (SASL) using the AnonymousAuthenticationProviderImpl: no
>>>>> password needed
>>>>> * LDAP (SASL) using the LdapAuthenticationProviderImpl: username and
>>>>> password required
>>>>> * PAM (SASL) using the PamAuthenticationProviderImpl: username and
>>>>> password required
>>>>> * CUSTOM (SASL) using the CustomAuthenticationProviderImpl: username
>>>>> and password required
>>>>>
>>>>> By tar the most common configurations are NONE (default I think) and
>>>>> KERBEROS. Both don't need a username and password provided so it does not
>>>>> make sense to ask for one every time.
>>>>>
>>>>> The only good reason I can think of to ask for a password is so that
>>>>> it doesn't appear in a shell/beeline history and/or on screen. I'm sure
>>>>> there are others?
>>>>> The username can be safely provided in the URL if needed so I don't
>>>>> think asking for that every time is reasonable either.
>>>>>
>>>>> What would be a good way to deal with this? I'm tempted to just rip
>>>>> out those prompts. The other option would be to parse the connection URL
>>>>> and check whether it's the Kerberos mode.
>>>>>
>>>>>>
>>>>>> [1]
>>>>>> https://github.com/apache/hive/blob/3991dba30c5068cac296f32e24e97cf87efa266c/beeline/src/java/org/apache/hive/beeline/Commands.java#L1117-L1125
>>>>>>
>>>>>> On Wed, Aug 26, 2015 at 10:13 AM, Loïc Chanel <
>>>>>> loic.cha...@telecomnancy.net> wrote:
>>>>>>
>>>>>>> Here it is : https://issues.apache.org/jira/browse/HIVE-11653
>>>>>>>
>>>>>>> Loïc CHANEL
>>>>>>> Engineering student at TELECOM Nancy
>>>>>>> Trainee at Worldline - Villeurbanne
>>>>>>>
>>>>>>> 2015-08-25 23:10 GMT+02:00 Sergey Shelukhin <ser...@hortonworks.com>
>>>>>>> :
>>>>>>>
>>>>>>>> Sure!
>>>>>>>>
>>>>>>>> From: Loïc Chanel <loic.cha...@telecomnancy.net>
>>>>>>>> Reply-To: "user@hive.apache.org" <user@hive.apache.org>
>>>>>>>> Date: Tuesday, August 25, 2015 at 00:23
>>>>>>>>
>>>>>>>> To: "user@hive.apache.org" <user@hive.apache.org>
>>>>>>>> Subject: Re: HiveServer2 & Kerberos
>>>>>>>>
>>>>>>>> It is the case.
>>>>>>>> Would you like me to fill a JIRA about it ?
>>>>>>>>
>>>>>>>> Loïc CHANEL
>>>>>>>> Engineering student at TELECOM Nancy
>>>>>>>> Trainee at Worldline - Villeurbanne
>>>>>>>>
>>>>>>>> 2015-08-24 19:24 GMT+02:00 Sergey Shelukhin <ser...@hortonworks.com
>>>>>>>> >:
>>>>>>>>
>>>>>>>>> If that is the case it sounds like a bug…
>>>>>>>>>
>>>>>>>>> From: Jary Du <jary...@gmail.com>
>>>>>>>>> Reply-To: "user@hive.apache.org" <user@hive.apache.org>
>>>>>>>>> Date: Thursday, August 20, 2015 at 08:56
>>>>>>>>> To: "user@hive.apache.org" <user@hive.apache.org>
>>>>>>>>> Subject: Re: HiveServer2 & Kerberos
>>>>>>>>>
>>>>>>>>> My understanding is that it will always ask you user/password even
>>>>>>>>> though you don’t need them. It is just the way how hive is setup.
>>>>>>>>>
>>>>>>>>> On Aug 20, 2015, at 8:28 AM, Loïc Chanel <
>>>>>>>>> loic.cha...@telecomnancy.net> wrote:
>>>>>>>>>
>>>>>>>>> !connect jdbc:hive2://
>>>>>>>>> 192.168.6.210:10000/db;principal=hive/hiveh...@westeros.wl
>>>>>>>>> org.apache.hive.jdbc.HiveDriver
>>>>>>>>> scan complete in 13ms
>>>>>>>>> Connecting to jdbc:hive2://
>>>>>>>>> 192.168.6.210:10000/db;principal=hive/hiveh...@westeros.wl
>>>>>>>>> Enter password for jdbc:hive2://
>>>>>>>>> 192.168.6.210:10000/chaneldb;principal=hive/hiveh...@westeros.wl:
>>>>>>>>>
>>>>>>>>> And if I press enter everything works perfectly, because I am
>>>>>>>>> using Kerberos authentication, that's actually why I was asking what 
>>>>>>>>> is
>>>>>>>>> Hive asking for, because in my case, it seems that I shouldn't be 
>>>>>>>>> asked for
>>>>>>>>> a password when connecting.
>>>>>>>>>
>>>>>>>>> Loïc CHANEL
>>>>>>>>> Engineering student at TELECOM Nancy
>>>>>>>>> Trainee at Worldline - Villeurbanne
>>>>>>>>>
>>>>>>>>> 2015-08-20 17:06 GMT+02:00 Jary Du <jary...@gmail.com>:
>>>>>>>>>
>>>>>>>>>> How does Beeline ask you? What happens if you just press enter?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Aug 20, 2015, at 12:15 AM, Loïc Chanel <
>>>>>>>>>> loic.cha...@telecomnancy.net> wrote:
>>>>>>>>>>
>>>>>>>>>> Indeed, I don't need the password, but why is Beeline asking me
>>>>>>>>>> for one ? To what does it correspond ?
>>>>>>>>>>
>>>>>>>>>> Thanks again,
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Loïc
>>>>>>>>>>
>>>>>>>>>> Loïc CHANEL
>>>>>>>>>> Engineering student at TELECOM Nancy
>>>>>>>>>> Trainee at Worldline - Villeurbanne
>>>>>>>>>>
>>>>>>>>>> 2015-08-19 18:22 GMT+02:00 Jary Du <jary...@gmail.com>:
>>>>>>>>>>
>>>>>>>>>>> Correct me if I am wrong, my understanding is that after using
>>>>>>>>>>> kerberos authentication, you probably don’t need the password.
>>>>>>>>>>>
>>>>>>>>>>> Hope it helps
>>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Jary
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Aug 19, 2015, at 9:09 AM, Loïc Chanel <
>>>>>>>>>>> loic.cha...@telecomnancy.net> wrote:
>>>>>>>>>>>
>>>>>>>>>>> By the way, thanks a lot for your help, because your solution
>>>>>>>>>>> works, but I'm still interested in knowing what is the password I 
>>>>>>>>>>> did not
>>>>>>>>>>> enter.
>>>>>>>>>>>
>>>>>>>>>>> Thanks again,
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Loïc
>>>>>>>>>>>
>>>>>>>>>>> Loïc CHANEL
>>>>>>>>>>> Engineering student at TELECOM Nancy
>>>>>>>>>>> Trainee at Worldline - Villeurbanne
>>>>>>>>>>>
>>>>>>>>>>> 2015-08-19 18:07 GMT+02:00 Loïc Chanel <
>>>>>>>>>>> loic.cha...@telecomnancy.net>:
>>>>>>>>>>>
>>>>>>>>>>>> All right, but then, what is the password hive asks for ?
>>>>>>>>>>>> Hive's one ? How do I know its value ?
>>>>>>>>>>>>
>>>>>>>>>>>> Loïc CHANEL
>>>>>>>>>>>> Engineering student at TELECOM Nancy
>>>>>>>>>>>> Trainee at Worldline - Villeurbanne
>>>>>>>>>>>>
>>>>>>>>>>>> 2015-08-19 17:51 GMT+02:00 Jary Du <jary...@gmail.com>:
>>>>>>>>>>>>
>>>>>>>>>>>>> For Beeline connection string, it should be "!connect
>>>>>>>>>>>>> jdbc:hive2://<host>:<port>/<db>;principal=<Server_Principal_of_HiveServer2>”.
>>>>>>>>>>>>>  Please
>>>>>>>>>>>>> make sure it is the hive’s principal, not the user’s. And when 
>>>>>>>>>>>>> you kinit,
>>>>>>>>>>>>> it should be kinit user’s keytab, not the hive’s keytab.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Aug 19, 2015, at 8:46 AM, Loïc Chanel <
>>>>>>>>>>>>> loic.cha...@telecomnancy.net> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Yeah, I forgot to mention it, but each time I did a kinit
>>>>>>>>>>>>> user/hive before launching beeline, as I read somewhere that 
>>>>>>>>>>>>> Beeline does
>>>>>>>>>>>>> not handle Kerberos connection.
>>>>>>>>>>>>>
>>>>>>>>>>>>> So, as I can make klist before launching beeline and having a
>>>>>>>>>>>>> good result, the problem does not come from this. Thanks a lot 
>>>>>>>>>>>>> for your
>>>>>>>>>>>>> response though.
>>>>>>>>>>>>> Do you have another idea ?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Loïc CHANEL
>>>>>>>>>>>>> Engineering student at TELECOM Nancy
>>>>>>>>>>>>> Trainee at Worldline - Villeurbanne
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2015-08-19 17:42 GMT+02:00 Jary Du <jary...@gmail.com>:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> "The Beeline client must have a valid Kerberos ticket in the
>>>>>>>>>>>>>> ticket cache before attempting to connect." (
>>>>>>>>>>>>>> http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.1.3/bk_dataintegration/content/ch_using-hive-clients-examples.html
>>>>>>>>>>>>>> )
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> So you need kinit first to have the valid Kerberos ticket int
>>>>>>>>>>>>>> the ticket cache before using beeline to connect to HS2.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Jary
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Aug 19, 2015, at 8:36 AM, Loïc Chanel <
>>>>>>>>>>>>>> loic.cha...@telecomnancy.net> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi again,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> As I searched another way to make some requests with Kerberos
>>>>>>>>>>>>>> enabled for security on HiveServer, I found that this request 
>>>>>>>>>>>>>> should do the
>>>>>>>>>>>>>> same :
>>>>>>>>>>>>>> !connect jdbc:hive2://
>>>>>>>>>>>>>> 192.168.6.210:10000/default;principal=user/h...@westeros.wl
>>>>>>>>>>>>>> org.apache.hive.jdbc.HiveDriver
>>>>>>>>>>>>>> But now I've got another error :
>>>>>>>>>>>>>> Error: Could not open client transport with JDBC Uri:
>>>>>>>>>>>>>> jdbc:hive2://
>>>>>>>>>>>>>> 192.168.6.210:10000/default;principal=user/h...@westeros.wl:
>>>>>>>>>>>>>> Peer indicated failure: GSS initiate failed (state=08S01,code=0)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> As I saw that it was maybe a simple Kerberos ticket related
>>>>>>>>>>>>>> problem, I tried to re-generate Kerberos keytabs, and to ensure 
>>>>>>>>>>>>>> that Hive
>>>>>>>>>>>>>> has the path to access to its keytab, but nothing changed.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Does anyone has an idea about how to solve this issue ?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks in advance for your help :)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Loïc
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Loïc CHANEL
>>>>>>>>>>>>>> Engineering student at TELECOM Nancy
>>>>>>>>>>>>>> Trainee at Worldline - Villeurbanne
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2015-08-19 12:01 GMT+02:00 Loïc Chanel <
>>>>>>>>>>>>>> loic.cha...@telecomnancy.net>:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I have a little issue with HiveServer2 since I have enabled
>>>>>>>>>>>>>>> Kerberos. I'm unable to connect to the service via Beeline. 
>>>>>>>>>>>>>>> When doing
>>>>>>>>>>>>>>> !connect jdbc:hive2://192.168.6.210:10000 hive hive
>>>>>>>>>>>>>>> org.apache.hive.jdbc.HiveDriver
>>>>>>>>>>>>>>> I keep receiving the same error :
>>>>>>>>>>>>>>> Error: Could not open client transport with JDBC Uri:
>>>>>>>>>>>>>>> jdbc:hive2://192.168.6.210:10000: Peer indicated failure:
>>>>>>>>>>>>>>> Unsupported mechanism type PLAIN (state=08S01,code=0)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Does anyone had the same problem ? Or know how to solve it ?
>>>>>>>>>>>>>>> Thanks in advance,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Loïc
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Loïc CHANEL
>>>>>>>>>>>>>>> Engineering student at TELECOM Nancy
>>>>>>>>>>>>>>> Trainee at Worldline - Villeurbanne
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Swarnim
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Swarnim
>>>>
>>>
>>>
>>
>
>
> --
> Takahiko Saito
>

Reply via email to