복붙노트

[HADOOP] 오류 JA017로 인해 Oozie Workflow가 실패했습니다.

HADOOP

오류 JA017로 인해 Oozie Workflow가 실패했습니다.

나는 Apache Oozie 4.3.0 버전을 Hadoop 2.7.3과 함께 사용하고 있습니다.

나는 시스템 이벤트를 MySQL 테이블로 내보내는 sqoop 액션이있는 매우 간단한 Oozie 워크 플로우를 개발했다.

<workflow-app name="WorkflowWithSqoopAction" 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>export --connect jdbc:mysql://localhost/airawat --username devUser --password myPwd --table eventsgranularreport  --direct --enclosed-by '\"' --export-dir /user/hive/warehouse/eventsgranularreport </command>
                </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>

다음과 같이 HDFS에 응용 프로그램을 배포했습니다.

hdfs dfs -ls -R /oozieProject | awk '{ print $8 }'

/oozieProject/workflowSqoopAction
/oozieProject/workflowSqoopAction/README.md
/oozieProject/workflowSqoopAction/job.properties
/oozieProject/workflowSqoopAction/workflow.xml

hdfs dfs -ls -d /oozieProject

drwxr-xr-x   - sergio supergroup          0 2017-04-15 14:08 /oozieProject

job.properties에 다음 구성을 포함 시켰습니다.

#*****************************
# job.properties
#*****************************

nameNode=hdfs://localhost:9000
jobTracker=localhost:8032
queueName=default

mapreduce.job.user.name=sergio
user.name=sergio
oozie.libpath=${nameNode}/oozieProject/share/lib
oozie.use.system.libpath=true
oozie.wf.rerun.failnodes=true

oozieProjectRoot=${nameNode}/oozieProject
appPath=${oozieProjectRoot}/workflowSqoopAction
oozie.wf.application.path=${appPath}

그런 다음 작업을 Oozie 서버로 보내고 실행을 시작합니다.

oozie job -oozie http://localhost:11000/oozie -config /home/sergio/git/hadoop_samples/hadoop_examples/src/main/java/org/sanchez/sergio/hadoop_examples/oozie/workflowSqoopAction/job.properties -submit

oozie job -oozie http://localhost:11000/oozie -start 0000001-170415112256550-oozie-serg-W

Oozie의 웹 콘솔에서 곧 작업이 실패한 것으로 나타났습니다.

sqoopAction에 다음 오류 메시지가 나타납니다.

JA017: Could not lookup launched hadoop Job ID [job_local245204272_0008] which was associated with  action [0000001-170415112256550-oozie-serg-W@sqoopAction].  Failing this action!

누구든지이 오류에 대해 안내 할 수 있습니까?

달리는 악마 :

jps

2576 
6130 ResourceManager
3267 DataNode
10102 JobHistoryServer
3129 NameNode
24650 Jps
6270 NodeManager
3470 SecondaryNameNode
4190 Bootstrap

해결법

  1. ==============================

    1.hadoop에서 설정 속성이 부족합니다. 나는 또한 hadoop-2.7.3과 Oozie-4.3을 사용하고 있었고 지난 5 일 같은 문제에 직면했다.

    hadoop에서 설정 속성이 부족합니다. 나는 또한 hadoop-2.7.3과 Oozie-4.3을 사용하고 있었고 지난 5 일 같은 문제에 직면했다.

    언급 한대로 몇 가지 속성을 구성하고 내 로컬에서 작동합니다.

    yarn-site.xml :

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    

    mapred-site.xml :

    <property>
        <name>mapreduce.jobtracker.address</name>
        <value>HOST:PORT</value>
    </property>
    
    <property>
        <name>mapreduce.jobtracker.http.address</name>
        <value>HOST:PORT</value>
    </property>
    
    <property>
        <name>mapreduce.tasktracker.report.address</name>
        <value>127.0.0.1:0</value>
    </property>
    
    <property>
        <name>mapreduce.tasktracker.http.address</name>
        <value>0.0.0.0:50060</value>
    </property>
    
    <property>
        <name>mapreduce.job.queuename</name>
        <value>default</value>
    </property>
    
    <property>
        <name> mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    
    <property> 
        <name>mapreduce.jobhistory.address</name>
        <value>localhost:10020</value> 
    </property>
    
    <property> 
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>localhost:19888</value> 
    </property>
    

    속성 값을 설정에 따라 실제 값으로 바꿉니다. 이제 원사, hadoop 및 Oozie를 다시 시작하십시오.

    행운을 빕니다.

  2. from https://stackoverflow.com/questions/43426691/oozie-workflow-failed-due-to-error-ja017 by cc-by-sa and MIT license