Compartir a través de


Solución de problemas de Apache Oozie en Azure HDInsight

Con la interfaz de usuario de Oozie, puede ver los registros de Oozie. La IU de Oozie también contiene vínculos a registros de JobTracker para tareas de MapReduce iniciadas por el flujo de trabajo. El patrón para la solución de problemas debe ser el siguiente:

  1. Ver el trabajo en la interfaz de usuario web de Oozie.

  2. Si hay un error o falla en una acción determinada, seleccione la acción para ver si el campo Mensaje de error ofrece más información sobre el error.

  3. Si está disponible, use la dirección URL de la acción para ver más detalles (por ejemplo, registros de JobTracker) para la acción.

Los siguientes son errores específicos que pueden surgir, así como el procedimiento para resolverlos.

JA009: no se puede inicializar el clúster

Incidencia

el estado del trabajo cambia a SUSPENDED (SUSPENDIDO). Los detalles del trabajo mostrarán el estado de RunHiveScript como START_MANUAL. Si se selecciona la acción, aparecerá el mensaje de error siguiente:

JA009: Cannot initialize Cluster. Please check your configuration for map

Causa

las direcciones de Azure Blob Storage usadas en el archivo job.xml no incluyen el nombre del contenedor de almacenamiento ni de la cuenta de almacenamiento. El formato de dirección de Blob Storage debe ser wasbs://containername@storageaccountname.blob.core.windows.net.

Resolución

cambiar las direcciones de Blob Storage que usa el trabajo.


JA002: Oozie no tiene permiso para suplantar a <USER>

Incidencia

el estado del trabajo cambia a SUSPENDED (SUSPENDIDO). Los detalles del trabajo mostrarán el estado de RunHiveScript como START_MANUAL. Al seleccionar la acción, se muestra el mensaje de error siguiente:

JA002: User: oozie is not allowed to impersonate <USER>

Causa

la configuración actual de permisos no permite a Oozie suplantar la cuenta de usuario especificada.

Resolución

Oozie puede suplantar a los usuarios del grupo users. Utilice el groups USERNAME para ver los grupos de los que es miembro la cuenta de usuario. Si el usuario no es miembro del grupo users, use el siguiente comando para agregar el usuario al grupo:

sudo adduser USERNAME users

Nota:

Puede tardar varios minutos antes de que HDInsight reconozca que el usuario se ha agregado al grupo.


ERROR del selector (Sqoop)

Incidencia

el estado del trabajo cambia a KILLED (TERMINADO). Los detalles del trabajo mostrarán el estado de RunSqoopExport como ERROR. Al seleccionar la acción, se muestra el mensaje de error siguiente:

Launcher ERROR, reason: Main class [org.apache.oozie.action.hadoop.SqoopMain], exit code [1]

Causa

Sqoop no puede cargar el controlador de base de datos necesario para acceder a la base de datos.

Resolución

al usar Sqoop desde un trabajo de Oozie, debe incluir el controlador de base de datos con los demás recursos (por ejemplo, workflow.xml) que usa el trabajo. Asimismo, haga referencia al archivo que contiene el controlador de base de datos desde la sección <sqoop>...</sqoop> de workflow.xml.

Por ejemplo, para el ejemplo de trabajo del artículo Uso de flujos de trabajo de Oozie de Hadoop, se usarían los pasos siguientes:

  1. Copie el archivo mssql-jdbc-7.0.0.jre8.jar en el directorio /tutorials/useoozie:

    hdfs dfs -put /usr/share/java/sqljdbc_7.0/enu/mssql-jdbc-7.0.0.jre8.jar /tutorials/useoozie/mssql-jdbc-7.0.0.jre8.jar
    
  2. Modifique workflow.xml para agregar el siguiente XML en una nueva línea encima de </sqoop>:

    <archive>mssql-jdbc-7.0.0.jre8.jar</archive>
    

Interfaz de usuario de Oozie: derechos de acceso de usuario predeterminados

Incidencia

En el caso de los clústeres de Oozie de HDInsight creados, de forma predeterminada los usuarios tendrán acceso de lectura a todos los trabajos, acceso de escritura a sus propios trabajos y pueden escribir en trabajos basados en ACL. Los usuarios administradores tienen permisos más amplios, incluido el acceso de escritura a todos los trabajos y operaciones. En los clústeres de Oozie, si la configuración de seguridad está deshabilitada, todos los usuarios se tratan como administradores y los clústeres de Oozie de HDInsight tienen deshabilitada la configuración de seguridad de forma predeterminada.

Causa

Si la seguridad está deshabilitada, todos los usuarios se tratan como usuarios administradores, que es un comportamiento estándar en Oozie y no específico de la plataforma de HDInsight. Referencia a la misma disponible en la siguiente página de Oozie: Oozie: documento público de autenticación de usuario

Resolución

Los usuarios administradores se pueden definir a través de una propiedad específica. Las ACL se establecen durante el envío del trabajo y pueden incluir nombres de usuario y grupos. El sistema comprueba si el usuario pertenece a los grupos necesarios para realizar acciones.

Establezca la propiedad "oozie.service.AuthorizationService.security.enabled=true" en Ambari

Interfaz de usuario de Ambari -> Servicios -> Oozie -> Configuraciones -> Avanzadas -> Buscar y establecer en True -> Reiniciar todos los afectados

Los usuarios administradores se determinan en la lista de grupos de administración, especificados en la propiedad oozie.service.AuthorizationService.admin.groups. Usa comas para separar varios grupos; los espacios, pestañas y caracteres ENTER se eliminan.

Pasos siguientes

Si su problema no aparece o es incapaz de resolverlo, visite uno de nuestros canales para obtener más soporte técnico:

  • Obtenga respuestas de expertos de Azure mediante el soporte técnico de la comunidad de Azure.

  • Póngase en contacto con @AzureSupport, la cuenta oficial de Microsoft Azure para mejorar la experiencia del cliente. Esta cuenta pone en contacto a la comunidad de Azure con los recursos adecuados: respuestas, soporte técnico y expertos.

  • Si necesita más ayuda, puede enviar una solicitud de soporte técnico desde Azure Portal. Seleccione Soporte técnico en la barra de menús o abra la central Ayuda + soporte técnico. Para obtener información más detallada, revise Creación de una solicitud de Soporte técnico de Azure. La suscripción a Microsoft Azure incluye acceso al soporte técnico para facturación y administración de suscripciones. El soporte técnico se proporciona a través de uno de los planes de soporte técnico de Azure.

Deshabilitación de Oozie WebUI y uso de opciones de línea de comandos como alternativa.

Incidencia

Apache Oozie se ha retirado desde febrero de 2025, consulte el vínculo. Hay vulnerabilidades conocidas relacionadas con Oozie WebUI.

Causa

Para deshabilitar Oozie WebUI, siga estos pasos:

  1. Detenga los servicios de Oozie desde el portal de Ambari.

  2. Edite /var/lib/ambari-server/resources/stacks/HDInsight/<version>/services/OOZIE/quicklinks/quicklinks.json y quite el valor del <url> parámetro y reemplace por "".

Before:

  "name": "default",
  "description": "default quick links configuration",
  "configuration": {
    "links": [
  .....
        "url":"%@://%@:%@/oozie?user.name=%@",
  .....

After:

  "name": "default",
  "description": "default quick links configuration",
  "configuration": {
    "links": [
  .....
        "url":"",
  .....
  1. Reinicio de los servicios de Ambari
sudo ambari-services restart
  1. Inicio de servicios de Oozie desde Ambari

Solución

Use las opciones de línea de comandos de Oozie, consulte el vínculo.