Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

curl with hive on secured cluster

Solved Go to solution

curl with hive on secured cluster

Contributor

How can I run curl with hive command in secured cluster?

curl -s -d execute="select+*+from+pokes;" \
       -d statusdir="pokes.output" \
       'http://localhost:50111/templeton/v1/hive?user.name=ekoifman'

in user.name - I tried to pass Hive Principal and keytab didnt work and tried with user principal didnt work. can you please provide some example?

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted

Re: curl with hive on secured cluster

Usually when you want to use curl in combination with Kerberos (secured cluster), you have to use the following command:

curl --negotiate -u : -X GET 'http://localhost:50111/templeton/v1/hive?user.name=ekoifman'

Make sure you have a valid kerberos ticket (run: klist)

View solution in original post

5 REPLIES 5
Highlighted

Re: curl with hive on secured cluster

Usually when you want to use curl in combination with Kerberos (secured cluster), you have to use the following command:

curl --negotiate -u : -X GET 'http://localhost:50111/templeton/v1/hive?user.name=ekoifman'

Make sure you have a valid kerberos ticket (run: klist)

View solution in original post

Highlighted

Re: curl with hive on secured cluster

Contributor

I generally add "-b ~/cookie.txt -c ~/cookie.txt" also the curl command. And "-i" will give addition information also.

curl --negotiate -u : -b ~/cookie.txt -c ~/cookie.txt ...

Highlighted

Re: curl with hive on secured cluster

Cloudera Employee

"localhost" doesn't work with kerberos authentication, you need the actual hostname in URL. @Jonas Straub can you please edit ?

Highlighted

Re: curl with hive on secured cluster

Contributor

Thanks @Jonas Straub @bdurai for your comments.

In user.name what value should I pass? is it a kerberos principal of the user who is the executing the command

This is what I got after I ran the above command.

~> curl --negotiate -u : -X GET 'http://WebdhcatserverDNS:50111/templeton/v1/hive?user.name=ekoifman' {"error":null}:~> curl --negotiate -u : -X GET 'http://WebhcatserverDNS:50111/templeton/v1/hive?user.name=ekoifman

Highlighted

Re: curl with hive on secured cluster

Cloudera Employee

User.name would be ignored during kerberos mode. The credentials via kinit is what gets used.

Don't have an account?
Coming from Hortonworks? Activate your account here