クラスタ構成

このページでは、Cloud Data Fusion、互換性のあるバージョン、および推奨されるクラスタ構成で Dataproc の静的クラスタを使用するケースについて説明します。

クラスタを再利用する場合

Cloud Data Fusion 6.5.0 以降では、実行間で Dataproc クラスタを再利用して処理時間を短縮できます。複数のジョブを 1 つずつ順番に実行している場合、クラスタを再利用することで、ジョブの開始にかかる時間を短縮できます。詳細については、Dataproc クラスタの再利用をご覧ください。

静的クラスタを使用するケース

推奨: 静的クラスタを試す前に、クラスタを再利用して起動時間を改善してみてください。

デフォルトでは、Cloud Data Fusion はパイプラインごとにエフェメラル クラスタを作成します。パイプライン実行の開始時点でクラスタを作成し、パイプラインの実行が完了した後に削除します。

次のシナリオでは、デフォルトを使用しないでください。代わりに、静的クラスタを使用してください。

  • すべてのパイプライン用の新しいクラスタの作成に要する時間が、ユースケースに適していない場合。

  • 組織でクラスタを集中管理する必要がある場合。たとえば、すべての Dataproc クラスタに特定のポリシーを適用したい場合などです。

静的クラスタを使用するには、Dataproc クラスタに次のプロパティを設定する必要があります。

dataproc:dataproc.conscrypt.provider.enable=false

詳細については、既存の Dataproc クラスタに対してパイプラインを実行するをご覧ください。

自動スケーリングを使用する場合

推奨: 事前定義された Cloud Data Fusion 自動スケーリングを使用するか、独自の自動スケーリング ポリシーを使用して、バッチ パイプラインでの処理用のクラスタ リソース管理を自動化します。

自動スケーリングはスケールダウンには推奨されません。アクティビティが少ない期間のコストを削減する方法については、次のドキュメントをご覧ください。

デフォルトのコンピューティング プロファイルを使用して大規模なパイプラインを実行すると、パイプラインが最適なパフォーマンスで実行されない場合があります。また、パイプラインの適切なクラスタサイズの要件が不明な場合にも有効です。

Cloud Data Fusion バージョン 6.6 以降では、Cloud Data Fusion の事前定義された自動スケーリングを使用して、クラスタ リソース管理を自動化できます。 すぐに使用できる自動スケーリング コンピューティング プロファイルがパイプラインに十分かもしれませんが、さらに制御が必要な場合は、独自の自動スケーリング ポリシーを定義できます。

任意のサポートされているバージョンで、独自の自動スケーリング ポリシーを作成してワーカーの最大数を設定できます。 Cloud Data Fusion バージョン 6.10.0 以降では、エフェメラル クラスタに対してデフォルトで、インスタンスが Dataproc の自動スケーリング プロファイルを使用します。自動スケーリング ポリシーの作成の詳細については、クラスタの自動スケーリングをご覧ください。

Cloud Data Fusion で事前に定義された自動スケーリングを使用する

バージョン 6.6 以降のパイプラインのワークロードに応じて、ワーカーノードを増やすために事前定義された自動スケーリングを使用できます。事前定義された自動スケーリングは、バッチ パイプラインでのみ使用できます。

オプション 1: Cloud Data Fusion の自動スケーリング プロファイルを使用する

バージョン 6.6 以降で実行されている Cloud Data Fusion インスタンスでは、インスタンスに Autoscaling Dataproc というプロファイルが付属しています。これは、すぐに使用できる Dataproc プロファイルで、事前に定義された自動スケーリングがすでに有効になっています。オプション 3 の事前に作成されたプロファイルに似ていますが、6.6.0 では 6.6.0 からアップグレードされ、ワーカーのマシンタイプは n2 になります。

  1. Google Cloud コンソールで、Cloud Data Fusion の [Instances] ページに移動します。
  2. [インスタンスを表示] をクリックして、Cloud Data Fusion ウェブ インターフェースでインスタンスを開きます。
  3. [List] > [Deployed] をクリックして、デプロイされたパイプライン ページに移動します。
  4. [Configure] > [Compute] をクリックします。
  5. [Autoscaling Dataproc] という名前のプロファイルを選択します。

オプション 2: プロファイルをカスタマイズして、事前に定義された自動スケーリング ポリシーを有効にする

デフォルトのプロファイルで事前に定義された自動スケーリングを有効にするには、次の手順に従います。

  1. Google Cloud コンソールで、Cloud Data Fusion の [Instances] ページに移動します。
  2. [インスタンスを表示] をクリックして、Cloud Data Fusion ウェブ インターフェースでインスタンスを開きます。
  3. [List] > [Deployed] をクリックして、デプロイされたパイプライン ページに移動します。
  4. [設定] をクリックします。
  5. 任意のプロファイルで [Customize] をクリックします。
  6. [Number of cluster workers] セクションを展開します。
  7. [Use predefined Autoscaling] をクリックします。
  8. [Done]、[Save] の順にクリックします。

パイプラインが次回実行されると、Dataproc ジョブは Cloud Data Fusion の事前定義された自動スケーリング ポリシーを使用します。

事前に定義された自動スケーリングを有効にする場合:

  • プロパティ Number of primary workersNumber of secondary workersAutoscaling policy は考慮されません。
  • ワーカーのマシンタイプ構成は、選択したプロファイルと同じです。
  • [Use predefined Autoscaling] 切り替えをオフにすると、事前に定義された自動スケーリングが無効になり、プロファイルの元の動作が実行されます。

ランタイム引数:

説明されている動作を実現するには、ランタイム引数に次のキーを入力します。

system.profile.properties.enablePredefinedAutoScaling = true

オプション 3: 新しいコンピューティング プロファイルで事前に定義された自動スケーリング ポリシーを有効にする

新しい Dataproc プロビジョナー プロファイルを作成するときに、[事前定義された自動スケーリングを使用] 切り替えボタンをクリックします。その後、このプロファイルをさまざまなパイプラインで使用し、ワーカーのマシンタイプやその他のプロパティをより細かく制御できます。

  1. Google Cloud コンソールで、Cloud Data Fusion の [Instances] ページに移動します。
  2. [View Instance] をクリックして、Cloud Data Fusion UI でインスタンスを開きます。
  3. プロファイルは、システム スコープまたはユーザー スコープのいずれかから作成できます。

    1. (省略可)システム スコープの場合: [System Admin] > [Configuration] > [System Compute Profiles] > [Create New Profile] の順にクリックします。
    2. (省略可)ユーザー スコープの場合: [メニュー] > [Namespace Admin] > [Create profile] をクリックします。

    プロビジョナーのページが開きます。

  4. [Dataproc] をクリックします。

  5. [Number of cluster workers] セクションを展開します。

  6. [Use predefined Autoscaling] をクリックします。

  7. その他の詳細を入力して [Create] をクリックします。

このプロファイルをパイプラインに適用するには、[Studio] ページでパイプラインを開き、[Configure] > [Compute] を順にクリックし、プロファイルを選択します。プロファイルをデフォルトとして設定できます。

詳細

プロフィールのリストが表示されているアプリケーションの [Compute config] ページに、[Total cores] 列があります。この列には、プロファイルのスケールアップが可能な最大 vCPU(例: Up to 84)が表示されています。

バージョンの互換性

問題: Cloud Data Fusion 環境のバージョンが Dataproc クラスタのバージョンと互換性がない場合があります。

推奨: 最新の Cloud Data Fusion バージョンにアップグレードし、サポートされている Dataproc バージョンのいずれかを使用します。

以前のバージョンの Cloud Data Fusion は、サポートされていない Dataproc バージョンんとのみ互換性があります。 Dataproc は、これらのバージョンで作成されたクラスタの更新とサポートを提供していません。サポートされていないバージョンで作成されたクラスタを引き続き実行することはできますが、サポートされているバージョンで作成されたクラスタに置き換えることをおすすめします。

Cloud Data Fusion のバージョン Dataproc のバージョン
6.10 以降 2.1、2.0 *
6.9 2.1、2.0、1.5 *
6.7-6.8 2.0、1.5 *
6.4-6.6 2.0 *, 1.3 **
6.1-6.3 1.3**

* Cloud Data Fusion バージョン 6.4 以降は、Dataproc のサポート対象バージョンと互換性があります。特定の OS 機能が必要でない限り、major.minor イメージのバージョンを指定することをおすすめします。
Dataproc クラスタで使用する OS バージョンを指定するには、OS バージョンが、前の表で お使いの Cloud Data Fusion 用にサポートされている Dataproc バージョンと互換性がある必要があります。

** Cloud Data Fusion バージョン 6.1 ~ 6.6 は、サポートされていない Dataproc バージョン 1.3 と互換性があります。

おすすめの方法

推奨: パイプライン用の静的クラスタを作成する場合は、次の構成を使用します。

パラメータ
yarn.nodemanager.delete.debug-delay-sec YARN のログを保持します。
推奨値: 86400(1 日に相当します)
yarn.nodemanager.pmem-check-enabled YARN が物理メモリの上限を確認して、コンテナが物理メモリを超過した場合にコンテナを強制終了できるようにします。
推奨値: false
yarn.nodemanager.vmem-check-enabled YARN が仮想メモリの上限を確認し、コンテナが物理メモリを超過した場合にコンテナを強制終了できるようにします。
推奨値: false