Estoy tratando de ejecutar una colmena de acción a través de Oozie. Mi workflow.xml es como sigue:

<workflow-app name='edu-apollogrp-dfe' xmlns="uri:oozie:workflow:0.1">
    <start to="HiveEvent"/>
    <action name="HiveEvent">
            <hive xmlns="uri:oozie:hive-action:0.2">
                    <job-tracker>${jobTracker}</job-tracker>
                    <name-node>${nameNode}</name-node>
                    <configuration>
                            <property>
                                    <name>oozie.hive.defaults</name>
                                    <value>${hiveConfigDefaultXml}</value>
                            </property>
                    </configuration>
                    <script>${hiveQuery}</script>
                    <param>OUTPUT=${StagingDir}</param>
            </hive>

            <ok to="end"/>
            <error to="end"/>
    </action>

    <kill name='kill'>
                    <message>Hive failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end name='end'/>

Y aquí está mi trabajo.propiedades de archivo:

oozie.wf.application.path=${nameNode}/user/${user.name}/hiveQuery
oozie.libpath=${nameNode}/user/${user.name}/hiveQuery/lib
queueName=interactive

#QA
nameNode=hdfs://hdfs.bravo.hadoop.apollogrp.edu
jobTracker=mapred.bravo.hadoop.apollogrp.edu:8021

# Hive

hiveConfigDefaultXml=/etc/hive/conf/hive-default.xml

hiveQuery=hiveQuery.hql
StagingDir=${nameNode}/user/${user.name}/hiveQuery/Output

Cuando ejecuto este flujo de trabajo, termino con este error:

ACTION[[email protected]] Launcher exception: org/apache/hadoop/hive/cli/CliDriver
java.lang.NoClassDefFoundError: org/apache/hadoop/hive/cli/CliDriver

Error Code: JA018

Error Message: org/apache/hadoop/hive/cli/CliDriver

No estoy seguro de lo que significa este error. A donde voy mal?

EDITAR

En este enlace dice el código de error JA018 es: JA018 is output directory exists error in workflow map-reduce action. Pero en mi caso el directorio de salida no existe. Esto hace que sea más confuso

InformationsquelleAutor Chaos | 2013-08-22

1 Comentario

  1. 5

    Me di cuenta de lo que estaba pasando mal!

    La clase org/apache/hadoop/hive/cli/CliDriver es requerido para la ejecución de una Colmena de Acción. Esto es obvio en el mensaje de error. Esta clase se encuentra dentro de este archivo jar: hive-cli-0.7.1-cdh3u5.jar. (En mi caso cdh3u5 en mi cloudera versión).

    Oozie cheques para este frasco en el ShareLib directorio. La ubicación de este directorio suele ser configurado en hive-site.xml, con el nombre de la propiedad como oozie.service.WorkflowAppService.system.libpath, así Oozie debe encontrar el frasco fácilmente.

    Pero en mi caso, hive-site.xml no incluir esta propiedad, por lo que Oozie no sabía dónde buscar para este tarro, de ahí el java.lang.NoClassDefFoundError.

    Para resolver esto, yo tenía que incluir un parámetro en mi trabajo.archivo de propiedades a punto de oozie a la ubicación de la ShareLib directorio, de la siguiente manera:
    oozie.libpath=${nameNode}/user/oozie/share/lib. (depende de donde SharedLib directorio configurado en el cluster).

    Este se deshizo de la error!

Dejar respuesta

Please enter your comment!
Please enter your name here