All Products
Search
Document Center

Data Lake Formation:Memutakhirkan komponen EMR-HOOK di gateway EMR

Last Updated:Jul 02, 2025

Topik ini menjelaskan cara memutakhirkan komponen EMR-HOOK di gateway E-MapReduce (EMR).

Informasi latar belakang

Skenario: Untuk operasi komputasi di gateway EMR, jika Anda menggunakan EMR-CLI untuk menerapkan gateway dan menggunakan metrik frekuensi akses yang ditampilkan pada tab Ikhtisar Data serta aturan frekuensi akses data pada halaman Manajemen Siklus Hidup di konsol Data Lake Formation (DLF), Anda perlu memutakhirkan komponen EMR-HOOK secara manual.

Catatan

Selama proses pemutakhiran, tugas komputasi yang sedang berjalan tidak terpengaruh. Setelah pemutakhiran, tugas akan otomatis diterapkan.

Batasan

Prosedur pemutakhiran

EMR-5.10.1, EMR-3.44.1, dan versi setelah EMR-3.44.1

Langkah 1: Memutakhirkan paket JAR

Masuk ke gateway menggunakan SSH dan jalankan skrip berikut. Anda harus memiliki izin root. Ganti ${region} dengan ID wilayah saat ini, seperti cn-hangzhou.

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: Mengubah konfigurasi Hive

Penting

${hive-jar} bervariasi tergantung pada versi Spark. Untuk Hive 2, atur ${hive-jar} menjadi hive-hook-hive23.jar. Untuk Hive 3, atur ${hive-jar} menjadi hive-hook-hive31.jar.

File konfigurasi

Item konfigurasi

Nilai konfigurasi

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

hive.aux.jars.path

Tambahkan ,/opt/apps/EMRHOOK/emrhook-current/${hive-jar}.

Catatan

Pemisahnya adalah koma (,).

hive.exec.post.hooks

Tambahkan com.aliyun.emr.meta.hive.hook.LineageLoggerHook.

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

hive_aux_jars_path

Tambahkan ,/opt/apps/EMRHOOK/emrhook-current/${hive-jar}.

Catatan

Pemisahnya adalah koma (,).

Langkah 3: Mengubah konfigurasi Spark

Penting

${spark-jar} bervariasi tergantung pada versi Spark. Untuk Spark 2, atur ${spark-jar} menjadi spark-hook-spark24.jar. Untuk Spark 3, atur ${spark-jar} menjadi spark-hook-spark30.jar.

File konfigurasi

Item konfigurasi

Nilai konfigurasi

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

spark.driver.extraClassPath

Tambahkan :/opt/apps/EMRHOOK/emrhook-current/${spark-jar}. Catatan bahwa pemisahnya adalah titik dua (:).

Catatan

Pemisahnya adalah titik dua (:).

spark.executor.extraClassPath

Tambahkan :/opt/apps/EMRHOOK/emrhook-current/${spark-jar}. Catatan bahwa pemisahnya adalah titik dua (:).

Catatan

Pemisahnya adalah titik dua (:)

spark.sql.queryExecutionListeners

Tambahkan com.aliyun.emr.meta.spark.listener.EMRQueryLogger.

EMR-5.10.1 dan versi sebelum EMR-3.44.1

Langkah 1: Memutakhirkan paket JAR

  1. Masuk ke gateway menggunakan SSH dan jalankan skrip berikut. Anda harus memiliki izin root. Ganti ${region} dengan ID wilayah saat ini, seperti cn-hangzhou.

    Skrip berikut digunakan untuk mengunduh dan mengekstrak paket JAR EMR-HOOK terbaru. Setelah paket JAR EMR-HOOK diekstrak, lanjutkan dengan langkah-langkah berikutnya untuk memutakhirkan paket JAR yang telah diekstrak.

    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. Ganti nama paket JAR yang telah diekstrak. Versi minor dari komponen EMR-HOOK bervariasi berdasarkan versi EMR. Sebelum melakukan operasi salin dan ganti, ganti nama paket JAR ke versi EMR-HOOK saat ini.

    Sebagai contoh, di EMR-3.43.1, versi minor dari komponen EMR-HOOK adalah 1.1.4, dan konvensi penamaan paket JAR adalah hive-hook-${version}-hive20.jar. Dalam hal ini, ganti ${version} dengan versi komponen EMR-HOOK saat 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

    image

  3. Setelah modifikasi, jalankan perintah berikut:

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

Langkah 2: Mengubah konfigurasi Hive

Penting

${hive-jar} bervariasi tergantung pada versi Spark. Untuk Hive 2, atur ${hive-jar} menjadi hive-hook-${emrhook-version}-hive23.jar. Untuk Hive 3, atur ${hive-jar} menjadi hive-hook-${emrhook-version}-hive31.jar. Atur ${emrhook-version} menjadi versi komponen EMR-HOOK, seperti hive-hook-1.1.4-hive23.jar.

File konfigurasi

Item konfigurasi

Nilai konfigurasi

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

hive.aux.jars.path

Tambahkan ,/opt/apps/EMRHOOK/emrhook-current/${hive-jar}.

Catatan

Pemisahnya adalah koma (,).

hive.exec.post.hooks

Tambahkan com.aliyun.emr.meta.hive.hook.LineageLoggerHook.

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

hive_aux_jars_path

Tambahkan ,/opt/apps/EMRHOOK/emrhook-current/${hive-jar}.

Catatan

Pemisahnya adalah koma (,).

Langkah 3: Mengubah konfigurasi Spark

Penting

${spark-jar} bervariasi tergantung pada versi Spark. Untuk Spark 2, atur ${spark-jar} menjadi spark-hook-${emrhook-version}-spark24.jar. Untuk Spark 3, atur ${spark-jar} menjadi spark-hook-${emrhook-version}-spark30.jar. Atur ${emrhook-version} menjadi versi komponen EMR-HOOK, seperti spark-hook-1.1.4-spark24.jar.

File konfigurasi

Item konfigurasi

Nilai konfigurasi

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

spark.driver.extraClassPath

Tambahkan :/opt/apps/EMRHOOK/emrhook-current/${spark-jar}. Catatan bahwa pemisahnya adalah titik dua (:).

Catatan

Pemisahnya adalah titik dua (:).

spark.executor.extraClassPath

Tambahkan :/opt/apps/EMRHOOK/emrhook-current/${spark-jar}. Catatan bahwa pemisahnya adalah titik dua (:).

Catatan

Pemisahnya adalah titik dua (:)

spark.sql.queryExecutionListeners

Tambahkan com.aliyun.emr.meta.spark.listener.EMRQueryLogger.