このトピックでは、E-MapReduce(EMR)ゲートウェイで EMR-HOOK コンポーネントをアップグレードする方法について説明します。
背景情報
シナリオ:EMR ゲートウェイでの計算操作の場合、EMR-CLI を使用してゲートウェイをデプロイし、[データ概要] タブに表示されるアクセス頻度メトリックと、Data Lake Formation(DLF)コンソールの [ライフサイクル管理] ページのデータアクセス頻度ルールを使用する場合は、EMR-HOOK コンポーネントを手動でアップグレードする必要があります。
アップグレードプロセス中、実行中の計算タスクは影響を受けません。アップグレード後、タスクは自動的に有効になります。
制限事項
DLF は、EMR クラスタのメタデータを管理するために使用されます。
このトピックで説明されている操作は、EMR-CLI を使用してデプロイされたゲートウェイに対してのみ有効です。
アップグレード手順
EMR-5.10.1、EMR-3.44.1、および EMR-3.44.1 以降のバージョン
手順 1:JAR パッケージのアップグレード
SSH を使用してゲートウェイにログオンし、次のスクリプトを実行します。 root 権限が必要です。 ${region} は、cn-hangzhou などの現在のリージョン ID に置き換える必要があります。
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/手順 2:Hive 構成の変更
${hive-jar} は Spark のバージョンによって異なります。 Hive 2 の場合は、${hive-jar} を hive-hook-hive23.jar に設定します。 Hive 3 の場合は、${hive-jar} を hive-hook-hive31.jar に設定します。
構成ファイル | 構成アイテム | 構成値 |
hive-site.xml(/etc/taihao-apps/hive-conf/hive-site.xml) |
|
説明 区切り文字はカンマ(,)です。 |
|
| |
hive-env.sh(/etc/taihao-apps/hive-conf/hive-env.sh) |
|
説明 区切り文字はカンマ(,)です。 |
手順 3:Spark 構成の変更
${spark-jar} は Spark のバージョンによって異なります。 Spark 2 の場合は、${spark-jar} を spark-hook-spark24.jar に設定します。 Spark 3 の場合は、${spark-jar} を spark-hook-spark30.jar に設定します。
構成ファイル | 構成アイテム | 構成値 |
spark-defaults.conf(/etc/taihao-apps/spark-conf/spark-defaults.conf) |
|
説明 区切り文字はコロン(:)です。 |
|
説明 区切り文字はコロン(:)です。 | |
|
|
EMR-5.10.1 および EMR-3.44.1 より前のバージョン
手順 1:JAR パッケージのアップグレード
SSH を使用してゲートウェイにログオンし、次のスクリプトを実行します。 root 権限が必要です。
${region}は、cn-hangzhou などの現在のリージョン ID に置き換える必要があります。次のスクリプトは、最新の EMR-HOOK JAR パッケージをダウンロードして解凍するために使用されます。 EMR-HOOK JAR パッケージが解凍されたら、後続の手順に進んで解凍された JAR パッケージをアップグレードします。
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/解凍された JAR パッケージの名前を変更します。 EMR-HOOK コンポーネントのマイナーバージョンは、EMR バージョンによって異なります。そのため、元の JAR パッケージを置き換える前に、コピーおよび置換操作を実行する前に、JAR パッケージを手動で現在の EMR-HOOK バージョンに名前変更する必要があります。
たとえば、EMR-3.43.1 では、EMR-HOOK コンポーネントのマイナーバージョンは 1.1.4 で、JAR パッケージの命名規則は hive-hook-${version}-hive20.jar です。この場合は、${version} を現在の EMR-HOOK コンポーネントのバージョンに置き換える必要があります。
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
変更後、次のコマンドを実行します。
sudo cp -p /opt/apps/EMRHOOK/upgrade/emrhook/* /opt/apps/EMRHOOK/emrhook-current/
手順 2:Hive 構成の変更
${hive-jar} は Spark のバージョンによって異なります。 Hive 2 の場合は、${hive-jar} を hive-hook-${emrhook-version}-hive23.jar に設定します。 Hive 3 の場合は、${hive-jar} を hive-hook-${emrhook-version}-hive31.jar に設定します。 ${emrhook-version} は、hive-hook-1.1.4-hive23.jar などの EMR-HOOK コンポーネントのバージョンに設定します。
構成ファイル | 構成アイテム | 構成値 |
hive-site.xml(/etc/taihao-apps/hive-conf/hive-site.xml) |
|
説明 区切り文字はカンマ(,)です。 |
|
| |
hive-env.sh(/etc/taihao-apps/hive-conf/hive-env.sh) |
|
説明 区切り文字はカンマ(,)です。 |
手順 3:Spark 構成の変更
${spark-jar} は Spark のバージョンによって異なります。 Spark 2 の場合は、${spark-jar} を spark-hook-${emrhook-version}-spark24.jar に設定します。 Spark 3 の場合は、${spark-jar} を spark-hook-${emrhook-version}-spark30.jar に設定します。 ${emrhook-version} は、spark-hook-1.1.4-spark24.jar などの EMR-HOOK コンポーネントのバージョンに設定します。
構成ファイル | 構成アイテム | 構成値 |
spark-defaults.conf(/etc/taihao-apps/spark-conf/spark-defaults.conf) |
|
説明 区切り文字はコロン(:)です。 |
|
説明 区切り文字はコロン(:)です。 | |
|
|