HDFS

Intégration DataNode HDFS

Dashboard HDFS

Présentation

Surveillez l’utilisation du disque et les volumes ayant échoué sur chacun de vos DataNodes HDFS. Ce check de l’Agent recueille des métriques pour ces derniers, ainsi que des métriques liées aux blocs et au cache.

Utilisez ce check (hdfs_datanode) et son check complémentaire (hdfs_namenode), et non l’ancien check deux-en-un (hdfs), désormais obsolète.

Implémentation

Suivez les instructions ci-dessous pour installer et configurer ce check lorsque l’Agent est exécuté sur un host. Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer ces instructions à un environnement conteneurisé.

Installation

Le check HDFS DataNode est inclus avec le package de l’Agent Datadog : vous n’avez donc rien d’autre à installer sur vos DataNodes.

Configuration

Associer l’Agent

Host

Pour configurer ce check lorsque l’Agent est exécuté sur un host :

  1. Modifiez le fichier hdfs_datanode.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent. Consultez le fichier d’exemple hdfs_datanode.d/conf.yaml pour découvrir toutes les options de configuration disponibles :

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

Environnement conteneurisé

Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer les paramètres ci-dessous à un environnement conteneurisé.

ParamètreValeur
<NOM_INTÉGRATION>hdfs_datanode
<CONFIG_INIT>vide ou {}
<CONFIG_INSTANCE>{"hdfs_datanode_jmx_uri": "http://%%host%%:9864"}

Collecte de logs

Disponible à partir des versions > 6.0 de l’Agent

  1. La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous devez l’activer dans le fichier datadog.yaml :

      logs_enabled: true
    
  2. Ajoutez ce bloc de configuration à votre fichier hdfs_datanode.d/conf.yaml pour commencer à recueillir vos logs DataNode :

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

    Modifiez les valeurs des paramètres path et service et configurez-les pour votre environnement.

  3. Redémarrez l’Agent.

Validation

Lancez la sous-commande status de l’Agent et cherchez hdfs_datanode dans la section Checks.

Données collectées

Métriques

hdfs.datanode.cache_capacity
(gauge)
Cache capacity in bytes
Shown as byte
hdfs.datanode.cache_used
(gauge)
Cache used in bytes
Shown as byte
hdfs.datanode.dfs_capacity
(gauge)
Disk capacity in bytes
Shown as byte
hdfs.datanode.dfs_remaining
(gauge)
The remaining disk space left in bytes
Shown as byte
hdfs.datanode.dfs_used
(gauge)
Disk usage in bytes
Shown as byte
hdfs.datanode.estimated_capacity_lost_total
(gauge)
The estimated capacity lost in bytes
Shown as byte
hdfs.datanode.last_volume_failure_date
(gauge)
The date/time of the last volume failure in milliseconds since epoch
Shown as millisecond
hdfs.datanode.num_blocks_cached
(gauge)
The number of blocks cached
Shown as block
hdfs.datanode.num_blocks_failed_to_cache
(gauge)
The number of blocks that failed to cache
Shown as block
hdfs.datanode.num_blocks_failed_to_uncache
(gauge)
The number of failed blocks to remove from cache
Shown as block
hdfs.datanode.num_failed_volumes
(gauge)
Number of failed volumes

Événements

Le check HDFS DataNode n’inclut aucun événement.

Checks de service

hdfs.datanode.jmx.can_connect
Renvoie CRITICAL si l’Agent n’est pas capable de se connecter à l’interface JMX de DataNode pour une raison quelconque. Si ce n’est pas le cas, renvoie OK.
Statuses: ok, critical

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.

Pour aller plus loin

Intégration NameNode HDFS

Dashboard HDFS

Présentation

Surveillez vos NameNodes HDFS primaires et secondaires pour savoir si votre cluster est en situation précaire, c’est-à-dire s’il ne reste plus qu’un seul NameNode ou si vous devez renforcer les capacités du cluster. Ce check de l’Agent recueille des métriques pour la capacité restante, les blocs corrompus/manquants, les DataNodes morts, la charge du système de fichiers, les blocs sous-répliqués, les échecs de volumes totaux (sur tous les DataNodes), et bien plus encore.

Utilisez ce check (hdfs_namenode) et son check complémentaire (hdfs_datanode), et non l’ancien check deux-en-un (hdfs) qui est obsolète.

Configuration

Suivez les instructions ci-dessous pour installer et configurer ce check lorsque l’Agent est exécuté sur un host. Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer ces instructions à des environnements conteneurisés.

Installation

Le check HDFS NameNode est inclus avec le package de l’Agent Datadog : vous n’avez donc rien d’autre à installer sur vos NameNodes.

Procédure à suivre

Associer l’Agent

Host

Pour configurer ce check lorsque l’Agent est exécuté sur un host :

  1. Modifiez le fichier hdfs_namenode.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent. Consultez le fichier d’exemple hdfs_namenode.d/conf.yaml pour découvrir toutes les options de configuration 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. Redémarrez l’Agent.

Environnement conteneurisé

Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer les paramètres ci-dessous à un environnement conteneurisé.

ParamètreValeur
<NOM_INTÉGRATION>hdfs_namenode
<CONFIG_INIT>vide ou {}
<CONFIG_INSTANCE>{"hdfs_namenode_jmx_uri": "https://%%host%%:9870"}

Collecte de logs

Disponible à partir des versions > 6.0 de l’Agent

  1. La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous devez l’activer dans le fichier datadog.yaml :

      logs_enabled: true
    
  2. Ajoutez ce bloc de configuration à votre fichier hdfs_namenode.d/conf.yaml pour commencer à recueillir vos logs NameNode :

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

    Modifiez les valeurs des paramètres path et service et configurez-les pour votre environnement.

  3. Redémarrez l’Agent.

Validation

Lancez la sous-commande status de l’Agent et cherchez hdfs_namenode dans la section Checks.

Données collectées

Métriques

hdfs.namenode.blocks_total
(gauge)
Total number of blocks
Shown as block
hdfs.namenode.capacity_remaining
(gauge)
Remaining disk space left in bytes
Shown as byte
hdfs.namenode.capacity_total
(gauge)
Total disk capacity in bytes
Shown as byte
hdfs.namenode.capacity_used
(gauge)
Disk usage in bytes
Shown as byte
hdfs.namenode.corrupt_blocks
(gauge)
Number of corrupt blocks
Shown as block
hdfs.namenode.estimated_capacity_lost_total
(gauge)
Estimated capacity lost in bytes
Shown as byte
hdfs.namenode.files_total
(gauge)
Total number of files
Shown as file
hdfs.namenode.fs_lock_queue_length
(gauge)
Lock queue length
hdfs.namenode.max_objects
(gauge)
Maximum number of files HDFS supports
Shown as object
hdfs.namenode.missing_blocks
(gauge)
Number of missing blocks
Shown as block
hdfs.namenode.num_dead_data_nodes
(gauge)
Total number of dead data nodes
Shown as node
hdfs.namenode.num_decom_dead_data_nodes
(gauge)
Number of decommissioning dead data nodes
Shown as node
hdfs.namenode.num_decom_live_data_nodes
(gauge)
Number of decommissioning live data nodes
Shown as node
hdfs.namenode.num_decommissioning_data_nodes
(gauge)
Number of decommissioning data nodes
Shown as node
hdfs.namenode.num_live_data_nodes
(gauge)
Total number of live data nodes
Shown as node
hdfs.namenode.num_stale_data_nodes
(gauge)
Number of stale data nodes
Shown as node
hdfs.namenode.num_stale_storages
(gauge)
Number of stale storages
hdfs.namenode.pending_deletion_blocks
(gauge)
Number of pending deletion blocks
Shown as block
hdfs.namenode.pending_replication_blocks
(gauge)
Number of blocks pending replication
Shown as block
hdfs.namenode.scheduled_replication_blocks
(gauge)
Number of blocks scheduled for replication
Shown as block
hdfs.namenode.total_load
(gauge)
Total load on the file system
hdfs.namenode.under_replicated_blocks
(gauge)
Number of under replicated blocks
Shown as block
hdfs.namenode.volume_failures_total
(gauge)
Total volume failures

Événements

Le check HDFS NameNode n’inclut aucun événement.

Checks de service

hdfs.namenode.jmx.can_connect
Renvoie CRITICAL si l’Agent n’est pas capable de se connecter à l’interface JMX de NameNode pour une raison quelconque. Si ce n’est pas le cas, renvoie OK.
Statuses: ok, critical

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.

Pour aller plus loin

PREVIEWING: may/unit-testing