HDFS Namenode

Supported OS Linux Mac OS

Versión de la integración7.0.0

Dashboard de HDFS

Información general

Monitoriza tus HDFS NameNodes primarios y de reserva para saber cuándo tu clúster entra en un estado precario: cuando te queda un NameNode, o cuando es el momento de añadir más capacidad al clúster. Este check del Agent recopila métricas de la capacidad restante, bloques corruptos/faltantes, DataNodes inactivos, carga del sistema de archivos, bloques insuficientemente replicados, fallos de volumen totales (en todos los DataNodes) y mucho más.

Utiliza este check (hdfs_namenode) y su check homólogo (hdfs_datanode), no el antiguo check dos en uno (hdfs); ese check está obsoleto.

Configuración

Sigue las instrucciones a continuación para instalar y configurar este check para un Agent que se ejecute en un host. Para entornos en contenedores, consulta las Plantillas de integración de Autodiscovery para obtener orientación sobre la aplicación de estas instrucciones.

Instalación

El check de HDFS NameNode está incluido en el paquete del Datadog Agent, por lo que no necesita instalar nada más en tus NameNodes.

Configuración

Conexión del Agent

host

Para configurar este check para un Agent que se ejecuta en un host:

  1. Edita el archivo hdfs_namenode.d/conf.yaml, en la carpeta conf.d/ en la raíz del directorio de configuración del Agent. Consulta el hdfs_namenode.d/conf.yaml de ejemplo para conocer todas las opciones de configuración disponibles:

    init_config:
    
    instances:
      ## @param hdfs_namenode_jmx_uri - string - required
      ## The HDFS NameNode check retrieves metrics from the HDFS NameNode's JMX
      ## interface via HTTP(S) (not a JMX remote connection). This check must be installed on
      ## a HDFS NameNode. The HDFS NameNode JMX URI is composed of the NameNode's hostname and port.
      ##
      ## The hostname and port can be found in the hdfs-site.xml conf file under
      ## the property dfs.namenode.http-address
      ## https://hadoop.apache.org/docs/r3.1.3/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
      #
      - hdfs_namenode_jmx_uri: http://localhost:9870
    
  2. Reinicia el Agent.

En contenedores

Para entornos en contenedores, consulta las Plantillas de integración de Autodiscovery para obtener orientación sobre la aplicación de los parámetros que se indican a continuación.

ParámetroValor
<INTEGRATION_NAME>hdfs_namenode
<INIT_CONFIG>en blanco o {}
<INSTANCE_CONFIG>{"hdfs_namenode_jmx_uri": "https://%%host%%:9870"}

Recopilación de logs

Disponible para el Agent >6.0

  1. La recopilación de logs está desactivada por defecto en el Datadog Agent. Habilítalo en el archivo datadog.yaml con:

      logs_enabled: true
    
  2. Añade este bloque de configuración a tu archivo hdfs_namenode.d/conf.yaml para empezar a recopilar tus logs de NameNode:

      logs:
        - type: file
          path: /var/log/hadoop-hdfs/*.log
          source: hdfs_namenode
          service: <SERVICE_NAME>
    

    Cambia los valores de los parámetros path y service y configúralos para tu entorno.

  3. Reinicia el Agent.

Validación

Ejecuta el subcomando de estado del Agent y busca hdfs_namenode en la sección Checks.

Datos recopilados

Métricas

hdfs.namenode.blocks_total
(gauge)
Número total de bloques
Se muestra como bloque
hdfs.namenode.capacity_remaining
(gauge)
Espacio de disco restante en bytes
Se muestra como byte
hdfs.namenode.capacity_total
(gauge)
Capacidad total del disco en bytes
Se muestra como byte
hdfs.namenode.capacity_used
(gauge)
Uso del disco en bytes
Se muestra como byte
hdfs.namenode.corrupt_blocks
(gauge)
Número de bloques corruptos
Se muestra como bloque
hdfs.namenode.estimated_capacity_lost_total
(gauge)
Capacidad perdida estimada en bytes
Se muestra como byte
hdfs.namenode.files_total
(gauge)
Número total de archivos
Se muestra como archivo
hdfs.namenode.fs_lock_queue_length
(gauge)
Longitud de la cola de bloqueo
hdfs.namenode.max_objects
(gauge)
Número máximo de archivos que admite HDFS
Se muestra como objeto
hdfs.namenode.missing_blocks
(gauge)
Número de bloques faltantes
Se muestra como bloque
hdfs.namenode.num_dead_data_nodes
(gauge)
Número total de nodos de datos inactivos
Se muestra como nodo
hdfs.namenode.num_decom_dead_data_nodes
(gauge)
Número de nodos de datos inactivos por fuera de servicio
Se muestra como nodo
hdfs.namenode.num_decom_live_data_nodes
(gauge)
Número de nodos de datos activos fuera de servicio
Se muestra como nodo
hdfs.namenode.num_decommissioning_data_nodes
(gauge)
Número de nodos de datos fuera de servicio
Se muestra como nodo
hdfs.namenode.num_live_data_nodes
(gauge)
Número total de nodos de datos activos
Se muestra como nodo
hdfs.namenode.num_stale_data_nodes
(gauge)
Número de nodos de datos obsoletos
Se muestra como nodo
hdfs.namenode.num_stale_storages
(gauge)
Número de almacenamientos obsoletos
hdfs.namenode.pending_deletion_blocks
(gauge)
Número de bloques de borrado pendientes
Se muestra como bloque
hdfs.namenode.pending_replication_blocks
(gauge)
Número de bloques pendientes de replicación
Se muestra como bloque
hdfs.namenode.scheduled_replication_blocks
(gauge)
Número de bloques programados para replicación
Se muestra como bloque
hdfs.namenode.total_load
(gauge)
Carga total en el sistema de archivos
hdfs.namenode.under_replicated_blocks
(gauge)
Número de bloques infrareplicados
Se muestra como bloque
hdfs.namenode.volume_failures_total
(gauge)
Volumen total de fallos

Eventos

El check de HDFS-namenode no incluye ningún evento.

Checks de servicio

hdfs.namenode.jmx.can_connect

Devuelve CRITICAL si el Agent no puede conectarse a la interfaz JMX del NameNode por cualquier motivo. En caso contrario, devuelve OK.

Estados: ok, critical

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con el soporte de Datadog.

Referencias adicionales