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 05-04-2016 07:35 AM
What exactly is xmls attribute in oozie workflows?
I am trying to run a sqoop command but I keep getting
ava.lang.ClassNotFoundException: Class org.apache.oozie.action.hadoop.SqoopMain not found
Now, I have tried everything suggested. Set the permissions right. Have /share/lib in /user/oozie.
Running oozie jobs from oozie user only.
Just wondering if xmlns could be the problem? I am using ambari.
This is what I get when I check my versions:
sqoop version Warning: /usr/hdp/2.4.0.0-169/hbase does not exist! HBase imports will fail. Please set $HBASE_HOME to the root of your HBase installation. Warning: /usr/hdp/2.4.0.0-169/accumulo does not exist! Accumulo imports will fail. Please set $ACCUMULO_HOME to the root of your Accumulo installation. 16/05/04 12:54:07 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6.2.4.0.0-169 Sqoop 1.4.6.2.4.0.0-169 git commit id c327581e17e308322d77a2ae245d0287c0e488d4 Compiled by jenkins on Wed Feb 10 08:35:28 UTC 2016 [oozie@warehouse root]$ oozie version Oozie client build version: 4.2.0.2.4.0.0-169
My workflow has;
<workflow-app name="once-a-day" xmlns="uri:oozie:workflow:0.1">
<start to="sqoopAction"/>
<action name="sqoopAction">
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<command>list-tables --connect jdbc:mysql://FQDN/erp --username hive --password hive
</command>
<archive>/lib/mysql-connector-java-5.1.38-bin.jarz#mysql-connector-java-5.1.38-bin.jar</archive>
</sqoop>
<ok to="end"/>
<error to="killJob"/>
</action>
<kill name="killJob">
<message>"Killed job due to error: ${wf:errorMessage(wf:lastErrorNode())}"</message>
</kill>
<end name="end" />
</workflow-app>job.props:
nameNode=hdfs://FQDN:8020
jobTracker=FQDN:8050
queueName=default
oozie.libpath=/user/oozie/share/lib/, /user/oozie/share/lib/lib_20160427195409
oozie.use.system.libpath=true
oozie.wf.application.path=${nameNode}/user/${user.name}/scheduledimport
start=2016-04-26T00:00Z
end=2016-12-31T00:00Z
workflowAppUri=${nameNode}/user/${user.name}/scheduledimport
Created 05-04-2016 09:18 AM
xmlns stands for XML Name Space, you can find general introduction here. In Oozie workflows there are 2 xmlns specified, the one on top:
<workflow-appname="once-a-day"xmlns="uri:oozie:workflow:0.1">
defines XML tags for Oozie workflow files in general. The other one:
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
defines XML tags specific to Sqoop action, you can find its definition here. In your case xmlns is not a problem. If it were Oozie would reject your workflow xml file as incorrect, for example, because of using non-existent tags, or existent ones in a wrong way.
Created 05-04-2016 09:18 AM
xmlns stands for XML Name Space, you can find general introduction here. In Oozie workflows there are 2 xmlns specified, the one on top:
<workflow-appname="once-a-day"xmlns="uri:oozie:workflow:0.1">
defines XML tags for Oozie workflow files in general. The other one:
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
defines XML tags specific to Sqoop action, you can find its definition here. In your case xmlns is not a problem. If it were Oozie would reject your workflow xml file as incorrect, for example, because of using non-existent tags, or existent ones in a wrong way.