クラスタ構成のクローニング

クラスタ構成ベースのブートストラップ・ヘルパー関数をクローニングして、ビッグ・データ・サービスのクラスタ構成をインポートおよびエクスポートします。

ソース・クラスタとターゲット・クラスタにわたるビッグ・データ・サービスODHサービス構成のエクスポートおよびインポートのサポートにより、様々な理由でビッグ・データ・サービスODH環境をクラスタ間で移動する便利な方法が提供され、時間と労力を節約できます。

ビッグ・データ・サービスODHサービス構成のエクスポートおよびインポートは、いくつかのシナリオで役立ちます。

障害回復
障害が発生したプライマリ・ビッグ・データ・サービスODHクラスタからリカバリするには、importヘルパー機能を使用して、新しいクラスタを迅速に作成し、サービスの構成をインポートします。
テストおよび開発
テスト環境または開発環境を作成するには、exportヘルパー機能を使用してビッグ・データ・サービスODHクラスタ構成のバックアップを作成します。

ビッグ・データ・サービスODHサービス構成をエクスポートするには、OCIコンソールを使用します。エクスポートされた構成には、クラスタ構成に関する情報が含まれます。

ビッグ・データ・サービスODHサービス構成をターゲット・クラスタにインポートするには、コンソールを使用します。インポートにより、エクスポート操作によって作成されたzipファイルに存在するすべてのサービスの構成が更新されます。

ノート

エクスポート/インポート・プロセスには、ジョブに関連付けられたデータまたはメタデータは含まれません。必要に応じて、データをターゲット・クラスタに個別に移行する必要があります。

ブートストラップ・スクリプトを実行するには、「ブートストラップ・スクリプトの作成」を参照してください。

エクスポートおよびインポート・ヘルパー関数の詳細は、次を参照してください。

クラスタ構成のクローニングのブートストラップ・ヘルパー関数

クラスタ構成のブートストラップ・スクリプトのクローニングの詳細は、クラスタ構成のクローニングを参照してください。

クラスタのインポートおよびエクスポート・ヘルパー関数のクローニングの例については、クラスタ構成のエクスポート/インポートの例を参照してください

ブートストラップ・スクリプトを実行するには、「ブートストラップ・スクリプトの作成」を参照してください。

カテゴリ Helper関数 機能
構成クラスタ exportClusterConfs(output_path, service_list=[] spcl_service_config_dict={}) このヘルパー関数は、JSON形式のすべてのサービスの構成を含むzipファイルを作成します。

ノート:

  • output_path: zipファイルが配置された場所へのパス。
  • service_list: エクスポート操作を実行するサービスのオプションのリスト。service_listが空の場合、クラスタに存在するすべてのインストール済サービスがプルされます。
  • spcl_service_config_dict: サービスのマッピングと、ソース・クラスタからそのままコピーする構成のリストを含むオプションのディクショナリ。デフォルト値はNULLです。

ジョブが成功した場合。ビッグ・データ・サービスODH環境のサービスのすべての構成を収集し、JSONファイルに保存して、このようなすべてのファイルのzipをoutput_pathに作成します。

importClusterConfs(zip_file_path, override_group=False) このヘルパー関数は、zipファイルからJSONファイルを抽出し、JSONファイルを使用してターゲット・クラスタ内のサービスの構成を再作成します。

ノート:

  • zip_file_path: ソース・クラスタのエクスポート関数によって作成されたzipファイルへのパス。エクスポートされたzipファイルは、ターゲット・クラスタのローカル・パスまたはオブジェクト・ストアの場所に配置されます。
  • override_group: デフォルト値はFalseです。ソース・クラスタと同様の名前を持つ既存のグループがターゲット・クラスタにある場合、このフラグはオーバーライドに使用されます。

クラスタ構成のエクスポート/インポートの例

exportClusterConfsおよびimportClusterConfsヘルパー関数の詳細は、クラスタ構成のクローニングのブートストラップ・ヘルパー関数を参照してください。

例: デフォルト値でのエクスポートzip作成用のサンプル・ブートストラップ・スクリプト

import os
import sys

sys.path.append(os.path.abspath("/home/opc/cloud/flask-microservice/"))

def execute(updateConfigHelper):
    # existing utility functions, mention output location as "/tmp"
    cluster_name = updateConfigHelper.exportClusterConfs("/tmp")
例: カスタマイズされたサービス・リストを使用したエクスポートzip作成用のサンプル・ブートストラップ・スクリプト

import os
import sys

sys.path.append(os.path.abspath("/home/opc/cloud/flask-microservice/"))

def execute(updateConfigHelper):
    # existing utility functions
    print("working hurrah")
    # Run export operation for mentioned list of services.
    service = ["HDFS", "SPARK3", "HIVE", "YARN", "MAPREDUCE2"]
    cluster_name = updateConfigHelper.exportClusterConfs("/tmp", service)
例: サービスのマッピングおよびソース・クラスタからそのままコピーする構成のリストを含むカスタマイズされたディクショナリを使用したエクスポートzip作成用のサンプル・ブートストラップ・スクリプト

import os
import sys

sys.path.append(os.path.abspath("/home/opc/cloud/flask-microservice/"))

def execute(updateConfigHelper):
    # existing utility functions
    service_list = ["HDFS", "SPARK3", "HIVE", "YARN", "MAPREDUCE2"]
    spcl_service_config_dict = {
        "HIVE": ["javax.jdo.option.ConnectionURL"],
        "HDFS": ["fs.defaultFS", "ranger.plugin.hdfs.policy.rest.url"]
    }
    cluster_name = updateConfigHelper.exportClusterConfs("/tmp", service_list, spcl_service_config_dict)
例: クラスタ・インポート・ジョブのサンプル・ブートストラップ・スクリプト

import os
import sys

sys.path.append(os.path.abspath("/home/opc/cloud/flask-microservice/"))

def execute(updateConfigHelper):
    # existing utility functions
    # Exported zip can be present in object store and you can provide object store path in zip_file_path location
    cluster_name = updateConfigHelper.importClusterConfs(
        'https://objectstorage.us-ashburn-1.oraclecloud.com/.../cluster_configs_1683606387.zip'
    )