HDInsight on AKS の Apache Flink® 構成管理
Note
Azure HDInsight on AKS は 2025 年 1 月 31 日に廃止されます。 2025 年 1 月 31 日より前に、ワークロードを Microsoft Fabric または同等の Azure 製品に移行することで、ワークロードの突然の終了を回避する必要があります。 サブスクリプション上に残っているクラスターは停止され、ホストから削除されることになります。
提供終了日までは基本サポートのみが利用できます。
重要
現在、この機能はプレビュー段階にあります。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用されるその他の法律条項については、「Microsoft Azure プレビューの追加の使用条件」に記載されています。 この特定のプレビューについては、「Microsoft HDInsight on AKS のプレビュー情報」を参照してください。 質問や機能の提案については、詳細を記載した要求を AskHDInsight で送信してください。また、その他の更新については、Azure HDInsight コミュニティのフォローをお願いいたします。
HDInsight on AKS には、ほとんどのプロパティと一般的なアプリケーション プロファイルに基づくいくつかのプロパティについて、Apache Flink の既定の構成セットが用意されています。 ただし、状態の使用、並列処理、またはメモリ設定を使用して特定のアプリケーションのパフォーマンスを向上させるために Flink 構成プロパティを調整する必要がある場合は、AKS クラスター上の HDInsight の Flink Jobs セクションを使用して Flink ジョブの構成を変更できます。
[設定] > [Flink ジョブ] > に移動し、[更新] をクリックします。
[ + 行を追加] をクリックして構成を編集します。
ここで、チェックポイント間隔は "クラスター レベル" で変更されます。
[OK] をクリックして変更を更新してから、[保存] をクリックします。
保存すると、新しい構成が数分 (最大 5 分) で更新されます。
構成管理設定を使用して更新できる構成。
processMemory size:
ジョブ マネージャーとタスク マネージャーのプロセス メモリ サイズに対する既定の設定は、クラスターの作成時にユーザーが構成したメモリです。
このサイズは、次の構成プロパティを使用して構成できます。 タスク マネージャーのプロセス メモリを変更するには、次の構成を使用します。
taskmanager.memory.process.size : <value>
例:
taskmanager.memory.process.size : 2000mb
ジョブ マネージャーの場合
jobmanager.memory.process.size : <value>
Note
構成可能な最大プロセス メモリは、
jobmanager/taskmanager
に対して構成されたメモリと同じです。
チェックポイント間隔
チェックポイント間隔によって、Flink がチェックポイントをトリガーする頻度が決まります。 これはミリ秒単位で定義され、次の構成プロパティを使用して設定できます
execution.checkpoint.interval: <value>
既定の設定は 60,000 ミリ秒 (1 分) です。この値は必要に応じて変更できます。
状態バックエンド
状態バックエンドにより、Flink がアプリケーションの状態を管理および保持する方法が決まります。 チェックポイントの格納方法に影響します。 状態バックエンドは、次のプロパティを使用して構成できます。
state.backend: <value>
AKS 上の HDInsight の Apache Flink クラスターでは、既定で Rocks DB が使用されます。
チェックポイント ストレージ パス
既定では、ユーザーが構成した abfs
ストレージにチェックポイントを格納することで永続的なチェックポイントを可能にします。 ジョブが失敗した場合でも、チェックポイントは保持されるため、最新のチェックポイントで簡単に開始できます。
state.checkpoints.dir: <path>
。<path>
を、チェックポイントが格納されている目的のパスに置き換えます。
既定では、ユーザーによって構成されたストレージ アカウント (ABFS) に格納されます。 この値は、Flink ポッドがアクセスできる限り、必要な任意のパスに変更できます。
最大同時チェックポイント数
プロパティ checkpoint.max-concurrent-checkpoints: <value>
を設定することで、同時チェックポイントの最大数を制限できます。
<value>
を、必要な同時チェックポイントの最大数に置き換えます。 たとえば、一度に 1 つのチェックポイントのみを可能にする場合は 1 です。
保持されるチェックポイントの最大数
次のプロパティを設定することで、保持されるチェックポイントの最大数を制限できます: state.checkpoints.num-retained: <value>
。<value>
を目的の最大数に置き換えます。 既定では、最大 5 つのチェックポイントが保持されます。
セーブポイント ストレージ パス
既定では、(ユーザーが構成した) abfs
ストレージにセーブポイントを格納することで永続的なセーブポイントを可能にします。 ユーザーが特定のセーブポイントでジョブを停止し、後で開始する必要がある場合は、この場所を構成できます。
state.checkpoints.dir: <path>
。 <path>
を、セーブポイントが格納されている目的のパスに置き換えます。
既定では、ユーザーによって構成されたストレージ アカウントに格納されます。 (ABFS がサポートされています)。 この値は、Flink ポッドがアクセスできる限り、必要な任意のパスに変更できます。
ジョブ マネージャーの高可用性
HDInsight on AKS では、Flink はバックエンドとして Kubernetes を使用します。 既知または不明な問題が原因でジョブ マネージャーが途中で失敗した場合でも、数秒以内にポッドが再起動されます。 そのため、この問題が原因でジョブが再開した場合でも、ジョブは最新のチェックポイントから復旧されます。
よく寄せられる質問
ジョブが間に失敗する理由 ジョブが突然失敗した場合でも、チェックポイントが連続して発生していれば、ジョブは既定で最新のチェックポイントから再開されます。
間でジョブ戦略を変更しますか? 何らかのジョブ レベルのバグがあるため、運用環境でジョブを変更する必要があるユース ケースがあります。 その間、ユーザーはジョブを停止できます。ジョブは、自動的にセーブポイントを取得し、セーブポイントの場所に保存されます。
savepoint
をクリックし、savepoint
が完了するまで待ちます。セーブポイントが完了したら、[開始] をクリックすると、[ジョブの開始] タブが表示されます。 ドロップダウンからセーブポイント名を選択します。 必要に応じて、構成を編集します。 そして [OK] をクリックします。
セーブポイントはジョブで提供されるため、Flink はデータの処理が開始される場所を認識します。
リファレンス
- Apache Flink 構成
- Apache、Apache Kafka、Kafka、Apache Flink、Flink、関連するオープン ソース プロジェクト名は、Apache Software Foundation (ASF) の商標です。