I have an oozie shell action that executes a bunch of hadoop fs -get merge commands, it is currently failing because of:
[Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]
In oozie docs it says how to do it for Java actions: here
IMPORTANT: In order for a Java action to succeed on a secure cluster, it must propagate the Hadoop delegation token like in the following code snippet (this is benign on non-secure clusters):
// propagate delegation related props from launcher job to MR job if (System.getenv("HADOOP_TOKEN_FILE_LOCATION") != null) { jobConf.set("mapreduce.job.credentials.binary", System.getenv("HADOOP_TOKEN_FILE_LOCATION")); }
How do I do this for Shell? when i try to echo $HADOOP_TOKEN_FILE_LOCATION, it returns nothing
Can you try using kinit command to authenticate using keytab in the shell script
kinit ${kinit_url} -k -t <keytab>;