Flink JAR ストリーミングノードを使用して、JAR パッケージから Flink リアルタイムタスクを実行します。DataWorks では、アップロード済みの Flink JAR リソースを選択し、エントリポイントクラスと実行パラメーターを設定して、リアルタイムジョブを開発・リリースします。このトピックでは、DataWorks で Flink JAR ストリーミングノードを開発し、設定する方法について説明します。
前提条件
管理センターでフルマネージド Flink コンピューティングエンジンをバインドしておく必要があります。 詳細については、「フルマネージド Flink コンピューティングエンジンをバインドする」をご参照ください。
Flink JAR リソースをアップロード済みであること。詳細については、「Flink のリソースと関数」をご参照ください。
Flink JAR ストリーミングノードを作成済みであること。詳細については、「ワークフローでのノードの作成」をご参照ください。
DataWorks が Realtime Compute for Apache Flink の OpenAPI を呼び出すために使用する RAM ユーザーまたは RAM ロールに、次の OpenAPI 権限を付与済みであること。これらの権限は、ノードタスクを Flink クラスターに送信してデプロイするために使用されます。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": ["stream:CreateDeployment", "stream:UpdateDeployment", "stream:GetDeployment", "stream:DeleteDeployment"], "Resource": ["*"] } ] }
制限事項
このノードはワークフローに含めることはできず、スタンドアロンノードとして開発・実行する必要があります。
サーバーレスリソースグループのみがサポートされています。スケジューリング用の従来の専用リソースグループはサポートされていません。
ステップ 1: Flink JAR ストリーミングノードの設定
Flink JAR ストリーミングノードの編集ページで、次のパラメーターを設定します。
主要パラメーター
ノード編集ページの左側ペインで、次のパラメーターを設定します。
パラメーター | 説明 |
JAR ファイル | 必須。リソース管理から Flink JAR リソースを選択します。 |
エントリポイントクラス | プログラムのエントリポイントクラスです。JAR パッケージに main クラスが指定されていない場合は、エントリポイントクラスの完全修飾名を入力します。 |
エントリポイント main 引数 | ジョブの main 引数で、main メソッドに渡されます。複数の引数を指定できます。 |
追加の依存関係 | ドロップダウンリストから、アップロード済みの Flink File リソースを選択し、追加の依存関係ファイルとして使用します。 説明 Flink コンピュートエンジンのデプロイターゲットがセッションクラスターの場合、追加の依存関係ファイルは有効になりません。 |
Flink リソース
右側のペインの Flink resource information の下にある Real-Time configuration セクションで、Resource Mode に基づいて次のパラメーターを設定します。 詳細については、「ジョブリソースの設定」をご参照ください。
パラメーター | 説明 |
[Flink cluster] | 管理センターでバインドしたフルマネージド Flink コンピュートエンジンの名前。 |
[Flink engine version] | 要件に応じてエンジンバージョンを選択します。 |
[Resource Group] | Flink ネットワークに接続されているサーバーレスリソースグループを選択します。 |
[Resource Mode] | 詳細については、「ジョブリソースの設定」をご参照ください。
|
JobManager CPU | Flink のベストプラクティスに基づき、JobManager が安定して実行するには、少なくとも 0.5 CPU コアと 2 GiB のメモリが必要です。1 CPU コアと 4 GiB のメモリを設定することを推奨します。CPU コアの最大数は 16 です。 |
JobManagerメモリ | JobManager のメモリサイズは、スケジューリングと管理タスクのパフォーマンスに影響します。推奨されるメモリサイズは 2 GiB から 64 GiB です。 |
TaskManager CPU | TaskManager の CPU リソース設定は、タスク処理能力に影響します。少なくとも 0.5 CPU コアと 2 GiB のメモリを設定することを推奨します。推奨設定は 1 CPU コアと 4 GiB のメモリです。CPU コアの最大数は 16 です。 |
TaskManagerメモリ | TaskManager のメモリ設定は、処理できるデータ量と全体的なパフォーマンスを決定します。メモリサイズは少なくとも 2 GiB 必要で、最大 64 GiB まで設定できます。 |
[Concurrency] | Flink ジョブで並列実行されるタスクの数を決定します。並列度を高くすると、スループットとリソース使用率が向上します。クラスターリソースとジョブの特性に基づいてこの値を設定します。 |
[Number of slots per TaskManager] | TaskManager ごとのスロット数は、並列実行できるタスクの数を決定します。スロット設定を調整して、リソース使用率とジョブの並列処理能力を最適化できます。 |
(オプション) スクリプトパラメーター
右側のナビゲーションペインの Script Parameters 配下にある Real-Time configuration セクションで、Add parameters をクリックし、Parameter name と Parameter Value を指定します。
(オプション) Flink 実行パラメーター
右側のナビゲーションペインで、Flink running parameters の下の Real-Time configuration セクションで、以下のパラメーターを設定します。 詳細については、「ジョブデプロイ情報を設定する」をご参照ください。
パラメーター | 説明 |
[System Checkpoint Interval] | Flink ジョブがチェックポイントを実行する間隔を指定します。間隔が短いほど、障害後の回復時間は短縮されますが、システムのオーバーヘッドは増加します。このパラメーターを空のままにすると、チェックポイントは無効になります。 |
[Minimum time interval between two system checkpoints] | Flink が連続するチェックポイント間で待機する必要がある最小時間を指定します。これにより、チェックポイントが頻繁すぎることによるパフォーマンスの問題を防ぐことができます。 |
State TTL | アクセスまたは更新されないステートデータの最大保持時間を指定します。デフォルト値は 36 時間です。 重要 このデフォルト値は、クラウドのベストプラクティスに基づいており、オープンソースのデフォルトとは異なります。オープンソースのデフォルトは 0 で、これはステート情報が期限切れにならないことを意味します。 |
[その他の設定] | 他の Flink 実行パラメーターを設定するために使用します。例: |
設定が完了したら、Saveをクリックします。
ステップ 2: Flink JAR ストリーミングノードの開始
Flink JAR ストリーミングノードをリリースします。
タスクを実行する前に、オペレーションセンターにタスクをリリースする必要があります。画面の指示に従って、実行する Flink JAR ストリーミングノードをリリースします。詳細については、「ノード/ワークフローのリリース」をご参照ください。
Flink JAR ストリーミングノードを開始します。
タスクが公開された後、[本番環境にリリース] の下にある Go to operation and maintenance をクリックします。 運用センターで、 に移動します。 該当タスクを見つけ、Operation 列の Start をクリックして実行し、そのステータスを表示します。