Support Questions

Find answers, ask questions, and share your expertise

Problem in running coordinator [oozie-site.xml issue]

avatar
Rising Star

hi,

I have a workflow that I've ran it successfully earlier. now I need a coordinator to schedule it.

my command is:

oozie job --oozie http://node3:11000/oozie --config '/usr/hdp/current/oozie-server/sqoop-sample/test02/job.properties' -D oozie.wf.application.path=hdfs://node2:8020/user/root/test/sqoop/coordinator.xml -run

my workflow is:

<?xml version="1.0" encoding="UTF-8"?>

<workflow-app xmlns="uri:oozie:workflow:0.2" name="sqoop-wf">
    <start to="sqoop-node"/>

    <action name="sqoop-node">
        <sqoop xmlns="uri:oozie:sqoop-action:0.2">
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <prepare>
                <delete path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data/sqoop"/>
                <mkdir path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data"/>
            </prepare>
            <configuration>
                <property>
                    <name>mapred.job.queue.name</name>
                    <value>${queueName}</value>
                </property>
            </configuration>
            <command>import --driver com.mysql.jdbc.Driver --connect jdbc:mysql://node1/mydb --table topop --target-dir /user/root/testdata2 --username user --password mypassword -m 1</command>
        </sqoop>
        <ok to="end"/>
        <error to="fail"/>
    </action>

    <kill name="fail">
        <message>Sqoop failed, error message</message>
    </kill>
    <end name="end"/>
</workflow-app>

here is coordinator.xml:

<?xml version="1.0" encoding="UTF-8"?>
<coordinator-app xmlns="uri:oozie:coordinator:0.2" name="sqoop-wf" frequency="${coord:days(1)}" start="2017-06-18T12:50Z" end="2018-06-18T12:15Z" timezone="United_kingdom/London">
    <action>
        <workflow>
            <app-path>${nameNode}/user/root/test/sqoop</app-path>
        </workflow>
    </action>
</coordinator-app>

and finally oozie-site.xml:

  <configuration>
    
    <property>
      <name>oozie.action.retry.interval</name>
      <value>30</value>
    </property>
    
    <property>
      <name>oozie.authentication.simple.anonymous.allowed</name>
      <value>true</value>
    </property>
    
    <property>
      <name>oozie.authentication.type</name>
      <value>simple</value>
    </property>
    
    <property>
      <name>oozie.base.url</name>
      <value>http://node3:11000/oozie</value>
    </property>
    
    <property>
      <name>oozie.credentials.credentialclasses</name>
      <value>hcat=org.apache.oozie.action.hadoop.HCatCredentials,hive2=org.apache.oozie.action.hadoop.Hive2Credentials</value>
    </property>
    
    <property>
      <name>oozie.db.schema.name</name>
      <value>oozie</value>
    </property>
    
    <property>
      <name>oozie.service.ActionService.executor.ext.classes</name>
      <value>org.apache.oozie.action.email.EmailActionExecutor,
org.apache.oozie.action.hadoop.HiveActionExecutor,
org.apache.oozie.action.hadoop.ShellActionExecutor,
org.apache.oozie.action.hadoop.SqoopActionExecutor</value>
    </property>
    
    <property>
      <name>oozie.service.AuthorizationService.security.enabled</name>
      <value>true</value>
    </property>
    
    <property>
      <name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
      <value>*=/usr/hdp/current/hadoop-client/conf</value>
    </property>
    
    <property>
      <name>oozie.service.HadoopAccessorService.kerberos.enabled</name>
      <value>false</value>
    </property>
    
    <property>
      <name>oozie.service.JPAService.jdbc.driver</name>
      <value>com.mysql.jdbc.Driver</value>
    </property>
    
    <property>
      <name>oozie.service.JPAService.jdbc.password</name>
      <value>SECRET:oozie-site:12:oozie.service.JPAService.jdbc.password</value>
    </property>
    
    <property>
      <name>oozie.service.JPAService.jdbc.url</name>
      <value>jdbc:mysql://node1/oozie</value>
    </property>
    
    <property>
      <name>oozie.service.JPAService.jdbc.username</name>
      <value>root</value>
    </property>
    
    <property>
      <name>oozie.service.SchemaService.wf.ext.schemas</name>
      <value>shell-action-0.1.xsd,email-action-0.1.xsd,hive-action-0.2.xsd,sqoop-action-0.2.xsd,ssh-action-0.1.xsd,oozie-coordinator-0.2.xsd,oozie-workflow-0.5.xsd</value>
    </property>
    
    <property>
      <name>oozie.service.SparkConfigurationService.spark.configurations</name>
      <value>*=spark-conf</value>
    </property>
    
    <property>
      <name>oozie.service.URIHandlerService.uri.handlers</name>
      <value>org.apache.oozie.dependency.FSURIHandler,org.apache.oozie.dependency.HCatURIHandler</value>
    </property>
    
    <property>
      <name>oozie.services.ext</name>
      <value>org.apache.oozie.service.JMSAccessorService,org.apache.oozie.service.PartitionDependencyManagerService,org.apache.oozie.service.HCatAccessorService,org.apache.oozie.service.ActionService</value>
    </property>
    
  </configuration>

and the error msg:

Error: E0723 : E0723: Unsupported action type, node [workflow] type [org.apache.oozie.service.ActionService]

any idea?

5 REPLIES 5

avatar
Contributor

Can you try include xmlns="uri:oozie:coordinator:0.4" after the timezone="United_kingdom/London"?

avatar
Rising Star

I tried but the same error appeared. have you ran a coordinator successfully? if yes, can you provide your oozie-site.xml file? I think my problem derives from there. but I don't know what is missing or misconfigured.

avatar
Rising Star

I changed my command like:

oozie job --oozie http://node3:11000/oozie --config '/usr/hdp/current/oozie-server/sqoop-sample/test02/job.properties' -D oozie.coord.application.path=hdfs://node2:8020/user/root/test/sqoop/coordinator.xml -run

and done.

avatar
Master Guru

@Sara Alizadeh - Command is same as what you have given in the question. Can you please let us know what changed to fix this?

avatar
Rising Star

Well...the command is not the same.

This time I used oozie.coord.application.path instead of oozie.wf.application.path.