Archives of Support Questions (Read Only)

This is an archived board for historical reference. Information and links may no longer be available or relevant
Announcements
This board is archived and read-only for historical reference. To ask a new question, please post a new topic on the appropriate active board.

curl with hive on secured cluster

avatar
Expert 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

avatar

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

avatar

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)

avatar
Rising Star

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 ...

avatar
Contributor

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

avatar
Expert 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

avatar
Contributor

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