Support Questions
Find answers, ask questions, and share your expertise

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

Contributor

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

Explorer

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

Contributor

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.

Contributor

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.

Super 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?

Contributor

Well...the command is not the same.

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