Hello Team.
We are using
CDH 5
5.13.1-1.cdh5.13.1.p0.2
Now we are trying to execute Pig script with access Hive or HBase.
I see Oozie job generated but inside of Oozie pig script action is failing with:
<workflow-app name="Batch job for pig_csv2hive" xmlns="uri:oozie:workflow:0.5">
<start to="pig-274f"/>
<kill name="Kill">
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<action name="pig-274f">
<pig>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<script>${wf:appPath()}/pig-274f.pig</script>
</pig>
<ok to="End"/>
<error to="Kill"/>
</action>
<end name="End"/>
</workflow-app>
2018-01-30 15:19:20,005 [main] 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)]
As far as I can see problem is that Hue doesn't generate credentials section in Oozie workflow XML which it should as per
https://issues.cloudera.org/browse/HUE-2152Also we tried to switch to Hue 3.9 which is also available and Pig script works fine from there. I believe you missed that bug fix in Hue 4.
Oozie workflow generated by Hue 3:
<workflow-app name="pig-app-hue-script" xmlns="uri:oozie:workflow:0.5">
<credentials>
<credential name="hcat" type="hcat">
<property>
<name>hcat.metastore.uri</name>
<value>thrift://
gmlhadoopm01.gomel.iba.by:9083</value>
</property>
<property>
<name>hcat.metastore.principal</name>
<value>hive/
gmlhadoopm01...@HADOOP.GOMEL.IBA.BY</value>
</property>
</credential>
</credentials>
<start to="pig-5760"/>
<action name="pig-5760" cred="hcat">
<pig>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<script>/user/hue/oozie/workspaces/_dpastern_-oozie-1-1517480304.16/script.pig</script>
</pig>
<ok to="end"/>
<error to="kill"/>
</action>
<kill name="kill">
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end"/>
</workflow-app>