Our Community is getting an upgrade! To get everything ready for the relaunch, we’ll be placing the site in read-only mode starting September 21st.
We really appreciate your understanding while we get things set up behind the scenes. Catch up on all the exciting details about the move here.
Need help or have questions? Drop us a line at [email protected]
Created 10-05-2015 11:26 PM
Oozie HIve action failed
Oozie Hive action configuration ================================================================= Using action configuration file /hadoop/data01/hadoop/yarn/local/usercache/hadoopdev/appcache/application_1443111597609_2691/container_1443111597609_2691_01_000002/action.xml ------------------------ Setting env property for mapreduce.job.credentials.binary to: /hadoop/data01/hadoop/yarn/local/usercache/hadoopdev/appcache/application_1443111597609_2691/container_1443111597609_2691_01_000002/container_tokens ------------------------ ------------------------ Setting env property for tez.credentials.path to: /hadoop/data01/hadoop/yarn/local/usercache/hadoopdev/appcache/application_1443111597609_2691/container_1443111597609_2691_01_000002/container_tokens ------------------------ <<< Invocation of Main class completed <<< Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.HiveMain], main() threw exception, hive-site.xml (Permission denied) java.io.FileNotFoundException: hive-site.xml (Permission denied) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(FileOutputStream.java:221) at java.io.FileOutputStream.<init>(FileOutputStream.java:110) at org.apache.oozie.action.hadoop.HiveMain.setUpHiveSite(HiveMain.java:166) at org.apache.oozie.action.hadoop.HiveMain.run(HiveMain.java:196) at org.apache.oozie.action.hadoop.LauncherMain.run(LauncherMain.java:38) at org.apache.oozie.action.hadoop.HiveMain.main(HiveMain.java:66) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.oozie.action.hadoop.LauncherMapper.map(LauncherMapper.java:225) at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54) at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:430) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1594) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163) Oozie Launcher failed, finishing Hadoop job gracefully
Oozie action is configured like this:
<action name="HivePartitionAction">
<hive xmlns="uri:oozie:hive-action:0.3">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<job-xml>script/hive-site.xml</job-xml>
<job-xml>script/xasecure-audit.xml</job-xml>
<job-xml>script/xasecure-hive-security.xml</job-xml>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
<script>script/addPartition.sql</script>
<file>script/xasecure-audit.xml</file>
<file>script/xasecure-hive-security.xml</file>
<file>script/xasecure-policymgr-ssl.xml</file>
<file>script/hive-site.xml</file>
</hive>
<ok to="end"/>
<error to="kill"/>
</action>
-- and the files exist OK in the /script subdirectory of the workflow directory. The files have read/write permission for all users.
-- 'hive-site.xml' under /etc/oozie/conf/action-conf/hive is owned by oozie user and set permission 644
Can anyone advise? Thanks.
Created 11-28-2016 05:40 PM
I have resolved similar issue
Please check - https://community.hortonworks.com/questions/65860/oozie-workflow-calls-sqoop-import-sql-server-to-hi...
Created 10-05-2015 11:38 PM
I think it should have worked, anyways a workaround you could try is to rename hive-site.xml to oozie-hive-site.xml under script directory and use that path in the workflow xml.
Created 10-06-2015 12:48 AM
Hi Deepesh, can you shed some light on this?
Does the workaround have to be like oozie-hive-site.xml, or rename to any name is ok?
I've tried renaming to hive-config.xml but no luck.
Created 10-06-2015 12:56 AM
Any name other than hive-site.xml should have potentially worked. Will update here if I think of anything else. One question (maybe a stupid one) but have you uploaded this on HDFS after changes?
Created 10-06-2015 04:13 PM
I faced similar issues and asked the same questions: http://community.hortonworks.com/questions/801/oozie-hive-action-hive-sitexml-permission-denied.html
Not received any response yet, but we can reach out to Engg team.
Created 10-06-2015 05:30 PM
One more thing you can try is to give the absolute path to the hive-site.xml in job-xml tag.
Created 10-06-2015 02:46 AM
AFAIK, hive-site.xml file can be uploaded to HDFS and used with same name. Here is an Falcon project I created that does the same.
https://github.com/sainib/hadoop-data-pipeline
The workflow defines the path to the hive-site.xml using a param like this -
https://github.com/sainib/hadoop-data-pipeline/blob/master/falcon/workflow/workflow.xml#L95
& the param is defined in the process entity file like this -
https://github.com/sainib/hadoop-data-pipeline/blob/master/falcon/process/processData.xml#L31
I am wondering if Falcon is looking for the hive-site xml where it should be or where you think it should. Can you try with the absolute path of the file on HDFS and give it a try?
Created 10-06-2015 10:01 PM
I forgot to mention that Ranger (XA secure) 3.5 is installed in this cluster.
Created 02-02-2016 02:37 PM
here's a working sample using hive-site.xml with pig script, it can just as well be hive.
Created 02-02-2016 02:38 PM
@Vincent Jiang please accept best answer or provide your own solution.