Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-11-20 GMT+08:00

ALM-24001 Excepción de Flume Agent

Descripción

No se puede iniciar la instancia del Flume Agent para la que se genera la alarma. Esta alarma se genera cuando el proceso del Flume Agent está defectuoso (El sistema comprueba cada 5 segundos) o el Flume Agent no se inicia (El sistema informa de alarmas inmediatamente).

Esta alarma se borra cuando el proceso del Flume Agent se recupera, el agente de Flume se inicia con éxito y se completa el manejo de la alarma.

Atributo

ID de alarma

Gravedad de la alarma

Borrar automáticamente

24001

Importante

Parámetros

Nombre

Significado

Source

Especifica el clúster para el que se genera la alarma.

ServiceName

Especifica el servicio para el que se genera la alarma.

AgentId

Especifica el ID del agente para el que se genera la alarma.

RoleName

Especifica el rol para el que se genera la alarma.

HostName

Especifica el host para el que se genera la alarma.

Impacto en el sistema

La instancia del Flume Agent para la que se genera la alarma no puede proporcionar servicios correctamente, y las tareas de transmisión de datos de la instancia se interrumpen temporalmente. Los datos en tiempo real se pierden durante la transmisión de datos en tiempo real.

Causas posibles

  • El directorio JAVA_HOME no existe o el permiso Java es incorrecto.
  • El permiso del directorio del Flume Agent es incorrecto.
  • Flume Agent no se inicia.

Procedimiento

Comprobar si existe el directorio JAVA_HOME o si el permiso JAVA es correcto.

  1. Inicie sesión en el host para el que se genera la alarma como usuario root.
  2. Ejecute el siguiente comando para obtener el directorio de instalación del cliente Flume para el que se genera la alarma: (El valor de AgentId se puede obtener del Location de la alarma.)

    ps -ef|grep AgentId | grep -v grep | awk -F 'conf-file ' '{print $2}' | awk -F 'fusioninsight' '{print $1}'

  3. Ejecute el comando su - Flume installation user para cambiar al usuario de instalación de Flume y ejecute el comando cd Flume client installation directory/fusioninsight-flume-1.9.0/conf/ para ir al directorio de configuración de Flume.
  4. Ejecute el comando cat ENV_VARS | grep JAVA_HOME.
  5. Compruebe si el directorio JAVA_HOME existe. Si la salida del comando de 4 no está vacía y ll $JAVA_HOME/ no está vacía, el directorio JAVA_HOME existe.

    • En caso afirmativo, vaya a 7.
    • Si no, vaya a 6.

  6. Especifique un directorio de JAVA_HOME correcto, por ejemplo, export JAVA_HOME=${BIGDATA_HOME}/common/runtime0/jdkVersion number.
  7. Ejecute el comando $JAVA_HOME/bin/java -version para comprobar si el usuario en ejecución del Flume agent tiene el permiso de ejecución de Java. Si la versión de Java se muestra en la salida del comando, el permiso Java cumple con el requisito. De lo contrario, el permiso Java no cumple con el requisito.

    • En caso afirmativo, vaya a 9.
    • Si no, vaya a 8.

      JAVA_HOME es la variable de entorno exportada durante la instalación del cliente de Flume. También puede ir a Flume client installation directory/fusioninsight-flume-1.9.0/conf y ejecutar el comando cat ENV_VARS | grep JAVA_HOME para ver el valor de la variable.

  8. Ejecute el comando chmod 750 $JAVA_HOME/bin/java para conceder el permiso de ejecución de Java al usuario en ejecución del Flume agent.

Comprobar el permiso de directorio del Flume agent.

  1. Inicie sesión en el host para el que se genera la alarma como root.
  2. Ejecute el siguiente comando para cambiar al directorio de instalación del Flume agent:

    cd Flume client installation directory/fusioninsight-flume-1.9.0/conf/

  3. Ejecute el comando ls -al * -R para comprobar si algún propietario de archivo es el usuario que ejecuta el Flume agent.

    • En caso afirmativo, vaya a 12.
    • Si no, ejecute el comando chown para cambiar el propietario del archivo al usuario que ejecuta el Flume agent.

Comprobar la configuración de Flume agent.

  1. Ejecute los comandos cat properties.properties | grep spooldir y cat properties.properties | grep TAILDIR para comprobar si el tipo de origen de Flume es spoolDir o tailDir. Si se muestra algún resultado de comando, el tipo de origen de Flume es spoolDir o tailDir.

    • En caso afirmativo, vaya a 13.
    • Si no, vaya a 17.

  2. Compruebe si existe el directorio de supervisión de datos.

    • En caso afirmativo, vaya a 15.
    • Si no, vaya a 14.

      Ejecute el comando cat properties.properties | grep spoolDir para ver el directorio de spoolDir.

      Ejecute el comando cat properties.properties | grep parentDir para ver el directorio de monitoreo de tailDir.

  3. Especifique un directorio de supervisión de datos correcto.
  4. Compruebe si el usuario del agente de Flume tiene los permisos de lectura, escritura y ejecución en el directorio de supervisión especificado en 13.

    • En caso afirmativo, vaya a 17.
    • Si no, vaya a 16.

      Vaya al directorio de supervisión como usuario en ejecución de Flume. Si se pueden crear archivos, el usuario en ejecución de Flume tiene los permisos de lectura, escritura y ejecución en el directorio de monitoreo.

  5. Ejecute el comando chmod 777 Flume monitoring directory para conceder al usuario en ejecución del Flume agent los permisos de lectura, escritura y ejecución en el directorio de supervisión especificado en el 13.
  6. Compruebe si los componentes conectados al sink de Flume están en modo seguro.

    • En caso afirmativo, vaya a 18.
    • Si no, vaya a 23.

      Si los sumideros del archivo de configuración properties.properties son el sink de HDFS, y el sink de HBase, y el archivo de configuración contiene un archivo keytab, los componentes conectados al sink de Flume están en modo seguro.

      Si el sink en el archivo de configuración properties.properties es el sink kafka y *.security.protocol está establecido en SASL_PLAINTEXT o SASL_SSL el Kafka conectado al sink Flume está en modo seguro.

  7. Ejecute el comando ll ketab path para comprobar si existe la ruta de autenticación keytab especificada por el parámetro *.kerberosKeytab en el archivo de configuración.

    • En caso afirmativo, vaya a 20.
    • Si no, vaya a 19.

      Para ver la ruta de acceso ketab, ejecute el comando cat properties.properties | grep keytab.

  8. Cambie el valor de kerberosKeytab de 18 a la ruta de keytab personalizada y vaya a 21.
  9. Realice 18 para comprobar si el usuario en ejecución del Flume agent tiene permiso para acceder al archivo de autenticación de keytab. Si se devuelve la ruta del keytab, el usuario tiene el permiso. De lo contrario, el usuario no tiene el permiso.

    • En caso afirmativo, vaya a 22.
    • Si no, vaya a 21.

  10. Ejecute el comando chmod 755 ketab file para conceder el permiso de lectura en el archivo keytab especificado en 19 y reinicie el proceso Flume.
  11. Verifique si la alarma se ha borrado.

    • De ser así, no se requiere ninguna acción adicional.
    • Si no, vaya a 23.

Recopilar información de fallas.

  1. En FusionInsight Manager, seleccione O&M. En el panel de navegación de la izquierda, elija Log > Download.
  2. Expanda la lista desplegable Service y seleccione Flume para el clúster de destino.
  3. Haga clic en la esquina superior derecha y establezca Start Date y End Date para la recopilación de registros en 1 hora antes y después del tiempo de generación de alarma, respectivamente. A continuación, haga clic en Download.
  4. Póngase en contacto con y proporcione los registros recopilados.

Eliminación de alarmas

Esta alarma se borra automáticamente después de rectificar la falla.

Información relacionada

Ninguna