Support Questions

Find answers, ask questions, and share your expertise

java.io.FileNotFoundException: sqoop-site.xml (Permission denied)

avatar
Expert Contributor

I changed the sqoop meta-store to a MySQL database and meta-connect is working fine.

Also, added the updated sqoop-site.xml with changes made to connection url and password and added it to

use/oozie/share/lib/lib_timestamp/sqoop/sqoop-site.xml

Also, created and saved the sqoop jobs and these saved jobs are being run from oozie workflow.

Now, on running oozie workflow, I am getting an error that says,

Why is it not able to find sqoop-site.xml?

I though added sqoop-site.xml to user/oozie/share/lib/sqoop folder after updating it, it never was in there before either.

What could be the reason and how do I fix this?

Log Type: stderr

Log Upload Time: Mon May 09 10:54:39 +0530 2016

Log Length: 1868

Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.SqoopMain], main() threw exception, sqoop-site.xml (Permission denied)
java.io.FileNotFoundException: sqoop-site.xml (Permission denied)
	at java.io.FileOutputStream.open0(Native Method)
	at java.io.FileOutputStream.open(FileOutputStream.java:270)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
	at org.apache.oozie.action.hadoop.SqoopMain.setUpSqoopSite(SqoopMain.java:84)
	at org.apache.oozie.action.hadoop.SqoopMain.run(SqoopMain.java:155)
	at org.apache.oozie.action.hadoop.LauncherMain.run(LauncherMain.java:47)
	at org.apache.oozie.action.hadoop.SqoopMain.main(SqoopMain.java:46)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.apache.oozie.action.hadoop.LauncherMapper.map(LauncherMapper.java:241)
	at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
	at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453)
	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
	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:422)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
	at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162)
log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.impl.MetricsSystemImpl).

This is how I am running my sqoop jobs in oozie:

  <action name="fabricinventoryimport">
              <sqoop xmlns="uri:oozie:sqoop-action:0.3">
                        <job-tracker>${jobTracker}</job-tracker>
                        <name-node>${nameNode}</name-node>
               <command>
                 job --meta-connect jdbc:mysql://FQDN:3306/sqoop --exec inventory
               </command>
                </sqoop>
</action>
1 ACCEPTED SOLUTION

avatar
Super Guru

could you please try adding <job-xml>sqoop-site.xml</job-xml> into your action and see whether it work.

View solution in original post

3 REPLIES 3

avatar
Super Guru

could you please try adding <job-xml>sqoop-site.xml</job-xml> into your action and see whether it work.

avatar
Expert Contributor

removed sqoop-site.xml from share/lib/sqoop folder and that error seems to have been fixed.

avatar
Contributor

Removing the sqoop-site.xml from that folder also worked for me.