Hello, I have created a simple java app that writes data to hdfs. When I run my jar file from the command line on an access node (yarn jar HdsfWriter.jar) the program runs as expected.
However when I attempt to run my jar file via the Oozie java action it fails with the following error: Mkdirs failed to create /user/xxx/scratch (exists=false, cwd=file:/data/7/hadoop/yarn/local/usercache/xxx/appcache/ application_1483543169522_0056/container_e10_1483543169522_0056_01_000002) Thank you, V. ------------------------------------------------------------ --------------------------------------------------------------------- Details HDP: 2.4 HDFS: 2.7.1 OOZIE: 4.2.0 Java Code Snip: public class HdfsWrite { /** * @param args the command line arguments */ public static void main(String[] args) { try{ String line = "This is a test!"; Path pt = new Path("/user/xxx/scratch/hdfs-test"); FileSystem fs = FileSystem.get(new Configuration()); BufferedWriter br = new BufferedWriter(new OutputStreamWriter(fs.create(pt,true))); br.write(line); br.close(); } catch (Exception e) { System.err.println( e.getMessage()); } } Java Action: <action name="HDFS_Write"> <java> <job-tracker>${jobTracker}</job-tracker> <name-node>${nameNode}</name-node> <prepare> <delete path="${nameNode}/${target}"/> </prepare> <configuration> <property> <name>mapred.job.queuename</name> <value>${queueName}</value> </property> </configuration> <main-class>com.nowhere.vp.hdfswrite.HdfsWrite</main-class> </java> <ok to="End" /> <error to="Report" /> </action>