All Products
Search
Document Center

Data Lake Formation:Upgrade komponen EMR-HOOK di gerbang EMR

Last Updated:Jun 21, 2026

Topik ini menjelaskan cara melakukan upgrade komponen EMR-HOOK di gerbang EMR.

Latar Belakang

Anda perlu melakukan upgrade komponen EMR-HOOK secara manual jika menjalankan tugas komputasi di gerbang EMR yang dideploy secara kustom dengan EMR-CLI dan menggunakan fitur Data Lake Formation (DLF), seperti metrik jumlah akses Data Overview serta aturan frekuensi akses data Lifecycle Management.

Catatan

Proses upgrade tidak memengaruhi tugas komputasi yang sedang berjalan. Perubahan akan diterapkan secara otomatis pada tugas komputasi baru yang dimulai setelah upgrade selesai.

Prasyarat

Prosedur

EMR-5.10.1, EMR-3.44.1 dan versi lebih baru

Langkah 1: Upgrade file JAR

Login ke gerbang sebagai root menggunakan SSH. Ganti ${region} dengan ID wilayah Anda, misalnya cn-hangzhou, lalu jalankan skrip berikut.

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/

Langkah 2: Modifikasi konfigurasi Hive

Penting

Pilih ${hive-jar} yang sesuai berdasarkan versi Hive Anda. Gunakan hive-hook-hive23.jar untuk Hive 2 dan hive-hook-hive31.jar untuk Hive 3.

File konfigurasi

Parameter

Nilai

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

hive.aux.jars.path

Tambahkan ,/opt/apps/EMRHOOK/emrhook-current/${hive-jar} ke nilai yang sudah ada.

Catatan

Gunakan koma (,) sebagai pemisah.

hive.exec.post.hooks

Tambahkan ,com.aliyun.emr.meta.hive.hook.LineageLoggerHook ke nilai yang sudah ada.

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

hive_aux_jars_path

Tambahkan ,/opt/apps/EMRHOOK/emrhook-current/${hive-jar} ke nilai yang sudah ada.

Catatan

Gunakan koma (,) sebagai pemisah.

Langkah 3: Modifikasi konfigurasi Spark

Penting

Pilih ${spark-jar} yang sesuai berdasarkan versi Spark Anda. Gunakan spark-hook-spark24.jar untuk Spark 2 dan spark-hook-spark30.jar untuk Spark 3.

File konfigurasi

Parameter

Nilai

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

spark.driver.extraClassPath

Tambahkan :/opt/apps/EMRHOOK/emrhook-current/${spark-jar} ke nilai yang sudah ada.

Catatan

Gunakan titik dua (:) sebagai pemisah.

spark.executor.extraClassPath

Tambahkan :/opt/apps/EMRHOOK/emrhook-current/${spark-jar} ke nilai yang sudah ada.

Catatan

Gunakan titik dua (:) sebagai pemisah.

spark.sql.queryExecutionListeners

Tambahkan ,com.aliyun.emr.meta.spark.listener.EMRQueryLogger ke nilai yang sudah ada.

EMR-5.10.1, EMR-3.44.1 dan versi lebih lama

Langkah 1: Upgrade file JAR

  1. Login ke gerbang sebagai root menggunakan SSH. Ganti ${region} dengan ID wilayah Anda, misalnya cn-hangzhou.

    Jalankan skrip berikut untuk mengunduh dan mengekstrak file JAR EMR-HOOK terbaru.

    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. Rilis E-MapReduce (EMR) yang berbeda mungkin menyertakan versi minor komponen EMR-HOOK yang berbeda. Oleh karena itu, Anda harus mengganti nama file JAR yang diunduh agar sesuai dengan versi file JAR yang sudah ada sebelum menggantinya.

    Sebagai contoh, EMR-3.43.1 menyertakan komponen EMR-HOOK versi 1.1.4 dengan konvensi penamaan file JAR hive-hook-${version}-hive20.jar. Anda harus mengganti nama file JAR yang diekstrak agar sesuai dengan konvensi ini.

    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. Setelah mengganti nama file, jalankan perintah berikut untuk mengganti file lama:

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

Langkah 2: Modifikasi konfigurasi Hive

Penting

Untuk ${hive-jar}, pilih file JAR yang sesuai dengan versi Hive Anda: hive-hook-${emrhook-version}-hive23.jar untuk Hive 2 atau hive-hook-${emrhook-version}-hive31.jar untuk Hive 3. Ganti ${emrhook-version} dengan nomor versi komponen EMR-HOOK Anda. Sebagai contoh, nama file lengkapnya mungkin hive-hook-1.1.4-hive23.jar.

File konfigurasi

Parameter

Nilai

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

hive.aux.jars.path

Tambahkan ,/opt/apps/EMRHOOK/emrhook-current/${hive-jar} ke nilai yang sudah ada.

Catatan

Gunakan koma (,) sebagai pemisah.

hive.exec.post.hooks

Tambahkan ,com.aliyun.emr.meta.hive.hook.LineageLoggerHook ke nilai yang sudah ada.

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

hive_aux_jars_path

Tambahkan ,/opt/apps/EMRHOOK/emrhook-current/${hive-jar} ke nilai yang sudah ada.

Catatan

Gunakan koma (,) sebagai pemisah.

Langkah 3: Modifikasi konfigurasi Spark

Penting

Untuk ${spark-jar}, pilih file JAR yang sesuai dengan versi Spark Anda: spark-hook-${emrhook-version}-spark24.jar untuk Spark 2 atau spark-hook-${emrhook-version}-spark30.jar untuk Spark 3. Ganti ${emrhook-version} dengan nomor versi komponen EMR-HOOK Anda. Sebagai contoh, nama file lengkapnya mungkin spark-hook-1.1.4-spark24.jar.

File konfigurasi

Parameter

Nilai

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

spark.driver.extraClassPath

Tambahkan :/opt/apps/EMRHOOK/emrhook-current/${spark-jar} ke nilai yang sudah ada.

Catatan

Gunakan titik dua (:) sebagai pemisah.

spark.executor.extraClassPath

Tambahkan :/opt/apps/EMRHOOK/emrhook-current/${spark-jar} ke nilai yang sudah ada.

Catatan

Gunakan titik dua (:) sebagai pemisah.

spark.sql.queryExecutionListeners

Tambahkan ,com.aliyun.emr.meta.spark.listener.EMRQueryLogger ke nilai yang sudah ada.