Tous les produits
Search
Centre de documentation

Data Lake Formation:Mettre à niveau le composant EMR-HOOK dans une passerelle EMR

Dernière mise à jour :Aug 11, 2026

Cette rubrique explique comment mettre à niveau le composant EMR-HOOK dans une passerelle EMR.

Contexte

Une mise à niveau manuelle du composant EMR-HOOK est nécessaire si vous exécutez des tâches de calcul sur une passerelle EMR déployée personnalisée avec EMR-CLI et que vous utilisez les fonctionnalités Data Lake Formation (DLF), telles que les métriques de nombre d'accès de la page Data Overview et les règles de fréquence d'accès aux données de la fonctionnalité Lifecycle Management.

Remarque

La mise à niveau n'affecte pas les tâches de calcul en cours. Les modifications s'appliquent automatiquement aux nouvelles tâches lancées après la fin de l'opération.

Prérequis

Procédure

EMR-5.10.1, EMR-3.44.1 et versions ultérieures

Étape 1 : Mettre à niveau les fichiers JAR

Connectez-vous à la passerelle en tant qu'utilisateur root via SSH. Remplacez ${region} par votre ID de région (par exemple, cn-hangzhou), puis exécutez le script suivant.

sudo mkdir -p /opt/apps/EMRHOOK/upgrade/
sudo wget https://dlf-repo-${region}.oss-${region}-internal.aliyuncs.com/emrhook/latest/emrhook.tar.gz -P /opt/apps/EMRHOOK/upgrade
sudo tar -p -zxf /opt/apps/EMRHOOK/upgrade/emrhook.tar.gz -C /opt/apps/EMRHOOK/upgrade/
sudo cp -p /opt/apps/EMRHOOK/upgrade/emrhook/* /opt/apps/EMRHOOK/emrhook-current/

Étape 2 : Modifier la configuration Hive

Important

Sélectionnez le fichier ${hive-jar} approprié selon votre version de Hive. Utilisez hive-hook-hive23.jar pour Hive 2 et hive-hook-hive31.jar pour Hive 3.

Fichier de configuration

Paramètre

Valeur

hive-site.xml (/etc/taihao-apps/hive-conf/hive-site.xml)

hive.aux.jars.path

Ajoutez ,/opt/apps/EMRHOOK/emrhook-current/${hive-jar} à la valeur existante.

Remarque

Utilisez une virgule (,) comme séparateur.

hive.exec.post.hooks

Ajoutez ,com.aliyun.emr.meta.hive.hook.LineageLoggerHook à la valeur existante.

hive-env.sh (/etc/taihao-apps/hive-conf/hive-env.sh)

hive_aux_jars_path

Ajoutez ,/opt/apps/EMRHOOK/emrhook-current/${hive-jar} à la valeur existante.

Remarque

Utilisez une virgule (,) comme séparateur.

Étape 3 : Modifier la configuration Spark

Important

Sélectionnez le fichier ${spark-jar} approprié selon votre version de Spark. Utilisez spark-hook-spark24.jar pour Spark 2 et spark-hook-spark30.jar pour Spark 3.

Fichier de configuration

Paramètre

Valeur

spark-defaults.conf (/etc/taihao-apps/spark-conf/spark-defaults.conf)

spark.driver.extraClassPath

Ajoutez :/opt/apps/EMRHOOK/emrhook-current/${spark-jar} à la valeur existante.

Remarque

Utilisez deux-points (:) comme séparateur.

spark.executor.extraClassPath

Ajoutez :/opt/apps/EMRHOOK/emrhook-current/${spark-jar} à la valeur existante.

Remarque

Utilisez deux-points (:) comme séparateur.

spark.sql.queryExecutionListeners

Ajoutez ,com.aliyun.emr.meta.spark.listener.EMRQueryLogger à la valeur existante.

EMR-5.10.1, EMR-3.44.1 et versions antérieures

Étape 1 : Mettre à niveau les fichiers JAR

  1. Connectez-vous à la passerelle en tant qu'utilisateur root via SSH. Remplacez ${region} par votre ID de région (par exemple, cn-hangzhou).

    Exécutez le script suivant pour télécharger et extraire les derniers fichiers JAR EMR-HOOK.

    sudo mkdir -p /opt/apps/EMRHOOK/upgrade/
    sudo wget https://dlf-repo-${region}.oss-${region}-internal.aliyuncs.com/emrhook/latest/emrhook.tar.gz -P /opt/apps/EMRHOOK/upgrade
    sudo tar -p -zxf /opt/apps/EMRHOOK/upgrade/emrhook.tar.gz -C /opt/apps/EMRHOOK/upgrade/
  2. Les différentes versions d'E-MapReduce (EMR) peuvent inclure des versions mineures différentes du composant EMR-HOOK. Vous devez donc renommer les fichiers JAR téléchargés afin qu'ils correspondent à la version des fichiers JAR existants avant de les remplacer.

    Par exemple, EMR-3.43.1 inclut la version 1.1.4 du composant EMR-HOOK, et la convention de nommage des fichiers JAR est hive-hook-${version}-hive20.jar. Vous devez renommer les fichiers JAR extraits pour respecter cette convention.

    cd /opt/apps/EMRHOOK/upgrade/emrhook
    mv hive-hook-hive20.jar hive-hook-1.1.4-hive20.jar
    mv hive-hook-hive23.jar hive-hook-1.1.4-hive23.jar
    mv hive-hook-hive31.jar hive-hook-1.1.4-hive31.jar
    mv spark-hook-spark24.jar spark-hook-1.1.4-spark24.jar
    mv spark-hook-spark30.jar spark-hook-1.1.4-spark30.jar
    [root@master-1-1 emrhook-current]# ll
    total 636
    -rw-r--r-- 1 502 games 122460 Sep 22 2022 hive-hook-1.1.4-hive20.jar
    -rw-r--r-- 1 502 games 122762 Sep 22 2022 hive-hook-1.1.4-hive23.jar
    -rw-r--r-- 1 502 games 121183 Sep 22 2022 hive-hook-1.1.4-hive31.jar
    -rw-r--r-- 1 502 games 158682 Sep 22 2022 spark-hook-1.1.4-spark24.jar
    -rw-r--r-- 1 502 games 121298 Sep 22 2022 spark-hook-1.1.4-spark30.jar
  3. Une fois les fichiers renommés, exécutez la commande suivante pour remplacer les anciens fichiers :

    sudo cp -p /opt/apps/EMRHOOK/upgrade/emrhook/* /opt/apps/EMRHOOK/emrhook-current/

Étape 2 : Modifier la configuration Hive

Important

Pour ${hive-jar}, sélectionnez le fichier JAR correspondant à votre version de Hive : hive-hook-${emrhook-version}-hive23.jar pour Hive 2, ou hive-hook-${emrhook-version}-hive31.jar pour Hive 3. Remplacez ${emrhook-version} par le numéro de version de votre composant EMR-HOOK. Par exemple, le nom complet du fichier peut être hive-hook-1.1.4-hive23.jar.

Fichier de configuration

Paramètre

Valeur

hive-site.xml (/etc/taihao-apps/hive-conf/hive-site.xml)

hive.aux.jars.path

Ajoutez ,/opt/apps/EMRHOOK/emrhook-current/${hive-jar} à la valeur existante.

Remarque

Utilisez une virgule (,) comme séparateur.

hive.exec.post.hooks

Ajoutez ,com.aliyun.emr.meta.hive.hook.LineageLoggerHook à la valeur existante.

hive-env.sh (/etc/taihao-apps/hive-conf/hive-env.sh)

hive_aux_jars_path

Ajoutez ,/opt/apps/EMRHOOK/emrhook-current/${hive-jar} à la valeur existante.

Remarque

Utilisez une virgule (,) comme séparateur.

Étape 3 : Modifier la configuration Spark

Important

Pour ${spark-jar}, sélectionnez le fichier JAR correspondant à votre version de Spark : spark-hook-${emrhook-version}-spark24.jar pour Spark 2, ou spark-hook-${emrhook-version}-spark30.jar pour Spark 3. Remplacez ${emrhook-version} par le numéro de version de votre composant EMR-HOOK. Par exemple, le nom complet du fichier peut être spark-hook-1.1.4-spark24.jar.

Fichier de configuration

Paramètre

Valeur

spark-defaults.conf (/etc/taihao-apps/spark-conf/spark-defaults.conf)

spark.driver.extraClassPath

Ajoutez :/opt/apps/EMRHOOK/emrhook-current/${spark-jar} à la valeur existante.

Remarque

Utilisez deux-points (:) comme séparateur.

spark.executor.extraClassPath

Ajoutez :/opt/apps/EMRHOOK/emrhook-current/${spark-jar} à la valeur existante.

Remarque

Utilisez deux-points (:) comme séparateur.

spark.sql.queryExecutionListeners

Ajoutez ,com.aliyun.emr.meta.spark.listener.EMRQueryLogger à la valeur existante.