You have specified only Hive2 server IP and port in JDBC URL under <jdbc-url> 
tag. Specify principal name as well in JDBC Url in below format.

jdbc:hive2://<myhost>:10000/default;principal=hive/<myhost>@<myrealm>

Hope it will work.

Regards,
Ashish

-----Original Message-----
From: Morgrim Murdargent [mailto:morgrim.oo...@gmail.com] 
Sent: 30 March 2016 15:42
To: user@oozie.apache.org
Subject: hive2 action and kerberos

Hello !

I created a simple workflow using the hive2 action.

Here it is :
###
<workflow-app xmlns="uri:oozie:workflow:0.5" name="TEST_HIVE_ACTION">
        <credentials>
                <credential name="hive_credentials" type="hive2">
                        <property>
                                <name>hive2.server.principal</name>
                                <value>hive/<myhost>@<myrealm></value>
                        </property>
                        <property>
                                <name>hive2.jdbc.url</name>
                                <value>jdbc:hive2://<myhost>:10000</value>
                        </property>
                </credential>
        </credentials>
        <start to="init-hive" />
        <action name="init-hive" cred="hive_credentials">
                <hive2 xmlns="uri:oozie:hive2-action:0.1">
                        <job-tracker>${jobTracker}</job-tracker>
                        <name-node>${nameNode}</name-node>
                        <job-xml>${hiveConfPath}</job-xml>
                        <configuration>
                                <property>
                                        <name>oozie.hive.defaults</name>
                                        <value>${hiveConfPath}</value>
                                </property>
                                <property>
                                        <name>mapreduce.job.queuename</name>
                                        <value>${queueName}</value>
                                </property>
                                <property>
                                        <name>tez.queue.name</name>
                                        <value>${queueName}</value>
                                </property>
                                <property>
                                        <name>tez.lib.uris</name>
                                        <value>${tezLibPath}</value>
                                </property>
                        </configuration>
                        <jdbc-url>jdbc:hive2://<myhost>:10000</jdbc-url>
                        <script>hive.hql</script>
                        <file>hive.hql#hive.hql</file>
                </hive2>
                <ok to="end"/>
                <error to="fail"/>
        </action>

        <kill name="fail">
        <message>Script failed, error
message[${wf:errorMessage(wf:lastErrorNode())}]</message>
        </kill>

        <end name="end"/>
</workflow-app>
###

When I submit this workflow, I got the following error message :
###
# oozie job -oozie=http://<OOZIE SERVER>:11000/oozie -verbose -info 
0000163-160329180739835-oozie-oozi-W@init-hive
ID : 0000163-160329180739835-oozie-oozi-W@init-hive
------------------------------------------------------------------------------------------------------------------------------------
Console URL       : -
Error Code        : JdbcUriParseException
Error Message     : JdbcUriParseException: Bad URL format. Hostname not
found  in authority part of the url: <myhost>:10000;principal=hive. Are you 
missing a '/' after the hostname ?
External ID       : -
External Status   : ERROR
Name              : init-hive
Retries           : 0
Tracker URI       : -
Type              : hive2
Started           : 2016-03-30 10:01:03 GMT
Status            : ERROR
Ended             : 2016-03-30 10:01:05 GMT
External Stats    : null
External ChildIDs : null
------------------------------------------------------------------------------------------------------------------------------------
###

Am I missing something in the hive2 credentials ? I don't understand why the 
whole principal is not taken.

Best regards.

Morgrim.

Reply via email to