デプロイメントを開始する前に、デプロイメントのリソースを設定できます。デプロイメントのドラフトを公開した後に、デプロイメントのリソース設定を変更することもできます。 Realtime Compute for Apache Flink は、2つのリソース設定モード(基本モード(粗粒度)とエキスパートモード(細粒度))をサポートしています。このトピックでは、デプロイメントリソースの設定方法と、2つのリソース設定モードで設定できるパラメーターについて説明します。
注意事項
デプロイメントのリソースを設定した後、設定を有効にするには、デプロイメントを再起動する必要があります。
手順
デプロイメントのリソースを設定できるページに移動します。
Realtime Compute for Apache Flink の 管理コンソール にログオンします。
管理するワークスペースを見つけ、[アクション] 列の [コンソール] をクリックします。
Realtime Compute for Apache Flink 開発コンソールの左側のナビゲーションペインで、 を選択します。 [デプロイメント] ページで、目的のデプロイメントを見つけ、デプロイメントの名前をクリックします。
[設定] タブで、[リソース] セクションの右上隅にある [編集] をクリックします。
リソースパラメーターを変更します。
2つのリソース設定モード(基本モード(粗粒度)とエキスパートモード(細粒度))がサポートされています。次の表に、リソース設定モードを示します。
リソース設定モード
説明
パラメーター設定
基本モード
基本モード(粗粒度)は、静的リソース割り当て方法です。このモードでは、各 TaskManager を起動するために必要なリソースの総量を指定するだけで済みます。リソースには、CPU コアと Java 仮想マシン(JVM)メモリが含まれます。 Realtime Compute for Apache Flink は、各 TaskManager のスロット数に基づいてリソースを均等に割り当てます。スロット数は、flink conf taskmanager.numberOfTaskSlots パラメーターで指定されます。ほとんどの単純なデプロイメントでは、基本モードでビジネス要件を満たすことができます。

エキスパートモード
エキスパートモード(細粒度)は、動的リソース割り当て方法です。このモードでは、各スロット共有グループ(SSG)に必要なリソースを設定できます。このようにして、Realtime Compute for Apache Flink は各スロットに必要なリソース数を計算し、次に使用可能なリソースプールから TaskManager に使用されるスロットのリソースを動的に適用します。複雑なデプロイメントの場合、基本モードではリソース使用率が低くなる可能性があります。したがって、エキスパートモードを使用して、各オペレーターのリソースを設定する必要があります。このようにして、リソース使用率が向上し、ビジネス要件に基づいてデプロイメントスループットを実現できます。
説明SQL デプロイメントのみをエキスパートモードで設定できます。
TaskManager、JobManager、タスク、およびスロットの詳細については、「Apache Flink アーキテクチャ」をご参照ください。
[リソース] セクションの右上隅にある [保存] をクリックします。
デプロイメントを再起動します。
デプロイメントのリソースが設定された後、設定を有効にするには、デプロイメントを再起動する必要があります。
基本モード(粗粒度)
パラメーター | 説明 |
並列度 | デプロイメントのグローバル並列度。 |
JobManager CPU | Realtime Compute for Apache Flink のベストプラクティスでは、デプロイメントの安定した動作を確保するために、JobManager には少なくとも 0.5 CPU コアと 2 GiB のメモリが必要であることが示されています。各 TaskManager に 1 CPU コアと 4 GiB のメモリを設定することをお勧めします。最大 16 CPU コアを設定できます。 |
JobManager メモリ | 単位:GiB。最小値:2 GiB。最大値:64 GiB。 |
TaskManager CPU | Realtime Compute for Apache Flink のベストプラクティスでは、デプロイメントの安定した動作を確保するために、TaskManager には少なくとも 0.5 CPU コアと 2 GiB のメモリが必要であることが示されています。各 TaskManager に 1 CPU コアと 4 GiB のメモリを設定することをお勧めします。最大 16 CPU コアを設定できます。 |
TaskManager メモリ | 単位:GiB。最小値:2 GiB。最大値:64 GiB。 |
TaskManager スロット | 各 TaskManager のスロット数。 |
デプロイメントのリソースを設定するときは、次の式を使用できます。
デプロイメントに設定される CU 数 = MAX(JobManager と TaskManager の CPU コアの合計数、JobManager と TaskManager の合計メモリサイズ/4)。
各デプロイメントに必要な IP アドレスの数 = JobManager の数 + TaskManager の実数。各デプロイメントには JobManager が 1つだけ存在します。
説明2024年 5月 30日以降にワークスペースを購入した場合、この式に注意を払う必要はありません。詳細については、「ネットワークアーキテクチャのアップグレード」をご参照ください。
TaskManager の実数 = 並列度の値/TaskManager スロットの値。この式は、各 TaskManager の CPU コアの合計数が各 TaskManager のデフォルトの最大 CPU コア数以下であるか、合計メモリサイズが各 TaskManager のデフォルトの最大メモリサイズ以下である場合に使用されます。
TaskManager の実数 = MAX(⌈CPU コアの合計数/16⌉、⌈合計メモリサイズ/64⌉)。この式は、各 TaskManager の CPU コアの合計数が各 TaskManager のデフォルトの最大 CPU コア数を超えるか、合計メモリサイズが各 TaskManager のデフォルトの最大メモリサイズを超える場合に使用されます。
各 TaskManager の CPU コアの合計数 = 並列度の値/TaskManager スロットの値 × Task Manager CPU の値。
各 TaskManager の合計メモリサイズ = 並列度の値/TaskManager スロットの値 × Task Manager メモリの値。
各 TaskManager のデフォルトの最大 CPU コア数は 16 です。
各 TaskManager のデフォルトの最大メモリサイズは 64 GiB です。
各 TaskManager に割り当てることができるスロットの実数 = ⌈並列度の値/TaskManager の実数⌉。
計算された比率は、最も近い整数に切り上げられます。
デフォルトでは、[リソース] セクションのパラメーターの最大値を超える値を指定することはできません。各 TaskManager のメモリサイズと CPU コアのデフォルトの最大値を高く設定する場合は、チケットを送信 してください。
[デプロイ] ページの [構成] タブにある [パラメーター] セクションの [その他の構成] フィールドで、numberOfTaskSlots パラメーターを構成することもできます。 このパラメーターは、[リソース] セクションの [taskmanager スロット] パラメーターと同じように機能しますが、優先順位が高くなります。
たとえば、並列度を 12 に、TaskManager スロットを 4 に設定できます。次の図は、この例の構成を示しています。

Realtime Compute for Apache Flink の開発コンソールで、TaskManager の実数は 3 で、各 TaskManager のスロットの実数は 4 であることがわかります。

次の式を使用して、TaskManager の実数と各 TaskManager のスロットの実数を計算します。
TaskManager の実数 = [並列度の値/TaskManager スロットの値] = [12/4] = 3。
各 TaskManager のスロットの実数 = ⌈並列度の値/TaskManager の実数⌉ = ⌈12/3⌉ = 4。
エキスパートモード(細粒度)
SQL デプロイメントのみをエキスパートモードで設定できます。
SQL デプロイメントのデプロイ後に SQL コードまたはリソース設定を変更する場合は、SQL デプロイメントが予期どおりに開始されるように、リソース設定プランを再生成する必要があります。
基本リソースを設定する
パラメーター | 説明 |
JobManager CPU | Realtime Compute for Apache Flink のベストプラクティスでは、デプロイメントの JobManager には、デプロイメントの安定した動作を確保するために、少なくとも 0.25 CPU コアと 1 GiB のメモリが必要であることが示されています。最大 16 CPU コアを設定できます。 |
JobManager メモリ | 単位:GiB。例:4 GiB。最小値:1 GiB。最大値:64 GiB。 |
TaskManager スロット | 該当なし。 |
スロットリソースを設定する
[エキスパートモード] で、[リソース] セクションの [今すぐプランを取得] をクリックして、リソース設定プランを設定します。

SLOT ボックスの右上隅にある
アイコンをクリックします。
スロット設定を変更します。

[SLOT(デフォルト)の変更] ダイアログボックスで設定する並列度パラメーターは、SSG 内のすべてのオペレーターの並列度です。並列度パラメーターを設定すると、システムは自動的に次の操作を実行します。
システムは、SSG 内のすべてのオペレーターに並列度を自動的に適用します。
システムは、デプロイメントの計算ロジックに基づいて、状態バックエンド、Python、およびオペレーターに必要なメモリサイズを自動的に計算します。手動設定は不要です。
剰余なしでデプロイメントの並列度で除算できるように、ソースノードのパーティション数を設定してください。たとえば、Kafka クラスターに 16 個のパーティションがある場合、データの偏りを防ぐために、並列度パラメーターを 16、8、または 4 に設定することをお勧めします。また、ソースノードの並列度パラメーターを過度に小さい値に設定しないことをお勧めします。並列度パラメーターが過度に小さい値に設定されている場合、ソースノードは過剰なデータを読み取る可能性があります。このシナリオでは、データ入力のボトルネックが発生し、デプロイメントのスループットが低下する可能性があります。
ソースノード以外のすべてのノードのデプロイメント並列度は、データ量に基づいて設定することをお勧めします。ノードのデータ量が多い場合は、並列度パラメーターを大きい値に設定することをお勧めします。ノードのデータ量が少ない場合は、並列度パラメーターを小さい値に設定することをお勧めします。
ヒープメモリとオフヒープメモリのサイズは、例外が発生した場合、またはデプロイメントのスループットが低い場合にのみ調整することをお勧めします。たとえば、デプロイメントでメモリ不足(OOM)エラーまたは深刻なガベージコレクションの問題が発生します。デプロイメントが正常に実行されているときにヒープメモリとオフヒープメモリのサイズを調整しても、デプロイメントのスループットを大幅に向上させることはできません。
説明[OK] をクリックします。
オペレーターリソースを設定する
デフォルトでは、すべてのオペレーターは 1 つの SSG に配置されます。各オペレーターのリソース設定を個別に変更することはできません。個々のオペレーターのリソースを設定する場合は、[複数 SSG] モードを有効にして、各オペレーターに独立したスロットがあることを確認する必要があります。このようにして、スロット内の各オペレーターのリソースを設定できます。オペレーターのリソースを設定するには、次の手順を実行します。
[設定] タブの [リソース] セクションの右上隅にある [編集] をクリックし、[モード] を [エキスパート] に設定します。
(オプション)リソースプランがない場合は、[今すぐプランを取得] をクリックします。

[複数 SSG] をオンにして、[再フェッチ] をクリックします。
SSG 内の各オペレーターには、独自のスロットが割り当てられます。

目的のオペレーターの SLOT ボックスにある
アイコンをクリックして、オペレーターのリソース設定を変更します。
[OK] をクリックします。
オペレーターの並列度、連鎖戦略、および TTL を設定する
Ververica Runtime(VVR)8.0.7 以降を使用する Realtime Compute for Apache Flink のみ、オペレーターの Time to Live(TTL)の設定をサポートしています。
単一オペレーターの並列度、連鎖戦略、および TTL を設定できます。
VERTEX ボックスで
アイコンをクリックして、頂点の詳細を表示します。
説明VERTEX ボックスの
アイコンをクリックして、頂点内のすべてのオペレーターの並列度パラメーターを一度に設定できます。オペレーターの
アイコンをクリックします。
オペレーターリソースを設定します。

次の表に、パラメーターを示します。
パラメーター
説明
並列度
オペレーターの並列度。
連鎖戦略
チェーンは、複数のオペレーターによって形成される論理計算チェーンです。チェーンは、デプロイメントの実行効率とパフォーマンスを向上させ、オペレーター間のデータ送信とシリアル化のオーバーヘッドを削減するのに役立ちます。特定のシナリオでは、チェーンを切断してデプロイメントの実行フローを制御し、デプロイメントのパフォーマンスを効率的に向上させる必要がある場合があります。次の連鎖戦略がサポートされています。
ALWAYS:オペレーターは常にアップストリームおよびダウンストリームオペレーターと連鎖させることができます。これはデフォルト値です。
HEAD:オペレーターはチェーンのヘッドノードとして機能します。アップストリームオペレーターはチェーンから切断されます。ダウンストリームオペレーターは現在のオペレーターと連鎖されます。
NEVER:オペレーターはアップストリームおよびダウンストリームオペレーターと連鎖させることができません。
状態の有効期限設定
Time to Live(TTL)を秒、分、時間、または日で設定できます。このパラメーターのデフォルト値は、デプロイメントの有効期限です。デプロイメントの有効期限を指定しない場合、自動的に 1.5 日が使用されます。デプロイメントの有効期限の指定方法の詳細については、「デプロイメントを設定する」トピックの「パラメーター」セクションをご参照ください。
説明VVR 8.0.7 以降を使用する Realtime Compute for Apache Flink のみ、このパラメーターをサポートしています。
ステートフルオペレーターのみが TTL 設定をサポートしています。
[OK] をクリックします。
参照
リソース設定の最適化方法の詳細については、「Flink SQL を最適化する」をご参照ください。
リソースを手動で再設定したくない場合は、自動調整を有効にして、システムがリソースを自動的に再設定できるようにすることができます。詳細については、「自動調整を設定する」をご参照ください。
[設定] タブの [基本]、[パラメーター]、および [ログ] セクションで、デプロイメント設定を変更できます。詳細については、「デプロイメントを設定する」をご参照ください。
Flink Advisor が提供するインテリジェントデプロイメント診断機能を使用して、デプロイメントのヘルスステータスを監視できます。詳細については、「インテリジェントデプロイメント診断を実行する」をご参照ください。