このトピックでは、Realtime Compute for Apache Flink のワークスペース、名前空間、デプロイメントの管理と操作に関するよくある質問に回答します。内容は、リソーススケーリング、ワークスペース ID の表示、エンジンバージョンの確認、デプロイメントパラメータの設定などです。
-
ワークスペースと名前空間の管理
-
デプロイメント管理
ワークスペースの名前は変更できますか?
-
Realtime Compute for Apache Flink コンソールで、対象のワークスペースを見つけ、[Actions] 列の をクリックします。
-
ワークスペース名をクリックして変更します。
Virtual Private Cloud (VPC) と vSwitch は変更できますか?
VPC は変更できませんが、vSwitch は変更できます。
ワークスペース情報の表示
Realtime Compute for Apache Flink コンソールで、対象のワークスペースを見つけ、[Actions] 列の をクリックして、ワークスペース ID などの情報を表示します。
[Workspace Details] パネルには、[Workspace name]、[OSS bucket]、[VPC name and ID]、[Processor architecture]、[Resource group]、[vSwitch] などの情報も含まれています。
名前空間のスケールイン中にリソース割り当てが失敗する
-
問題の説明
名前空間をスケールインすると、リソース割り当てが失敗します。
エラーメッセージは次のとおりです。「Namespace resource allocation failed, please go to the console page to adjust the queue resources and retry.」
-
原因
利用可能なすべてのリソースがすでに割り当てられているか、使用中です。
-
解決策
まず、リソースキューに割り当てられているリソースを削減してから、名前空間をスケールインします。 詳細については、「リソースクォータの変更」をご参照ください。
[Namespace Resources] ページで、キューリストから対象のリソースキューを見つけ、[Actions] 列の [Edit a queue] をクリックして、割り当てられている CU を削減します。
スケールアウト後にリソースの変更が反映されない
-
サブスクリプション
Realtime Compute for Apache Flink のリソーススケーリングは、トップダウンアプローチに従います。 ワークスペースからその名前空間へ、次に名前空間からそのリソースキューへとリソースを割り当てます。 詳細については、「リソースのスケーリング」をご参照ください。
-
従量課金
従量課金方式では、実際のリソース使用量に基づいて課金されます。 リソーススケーリングは適用されません。 対象のワークスペースを見つけ、[Actions] 列で を選択します。 次に、名前空間内にリソースキューを設定して、バッチ処理シナリオのリソース分離と管理のニーズを満たします。 詳細については、「リソースキューの管理」をご参照ください。
AccessKey ID と AccessKey Secret の表示
-
AccessKey ID
-
ルートアカウントの場合: Alibaba Cloud コンソールにログインします。 右上のプロフィール画像にカーソルを合わせ、[AccessKey Management] をクリックして ID を表示します。
-
RAM ユーザーの場合: 「RAM ユーザーの AccessKey 情報を表示する」をご参照ください。
-
-
AccessKey Secret
漏洩リスクを低減するため、ルートアカウントと RAM ユーザーの両方の AccessKey Secret は作成時にのみ表示され、後から取得することはできません。 作成時に AccessKey Secret を安全に保管する必要があります。
AccessKey ペアがない場合や、AccessKey Secret を紛失した場合は、「AccessKey ペアの作成」をご参照ください。
Flink デプロイメント用ファイルの OSS へのアップロード
Flink ワークスペースを有効化する際に、ストレージ用の Object Storage Service (OSS) バケットを指定できます。 これにより、ファイルをバケットにアップロードして Flink デプロイメントで使用できます。 Realtime Compute for Apache Flink の開発コンソールの [Artifacts] ページで直接ファイルをアップロードすることもできます。 詳細については、「アーティファクト」をご参照ください。
-
Realtime Compute for Apache Flink 管理コンソールで、対象のワークスペースの [Actions] 列にある をクリックして、関連する OSS バケット情報を表示します。
-
リソースファイルを対象の OSS バケットにアップロードします。
-
Realtime Compute for Apache Flink 開発コンソールの左側メニューで [Artifacts] をクリックして、OSS コンソールからアップロードされたリソースファイルを表示します。
このページには、アップロードされたファイルが [Name]、[Creation time]、[Actions] ([Download]、[Delete]) の列とともに一覧表示されます。 ページの上部には [Upload resource] ボタンがあります。
Flink ワークスペースがコンソールに表示されない
以下の考えられる原因を確認してください。 問題が解決しない場合は、サポートにチケットを送信できます。
-
Flink ワークスペースの初期化が完了していることを確認してください。 このプロセスには通常 5〜10 分かかります。
-
コンソールページの上部で正しいリージョンを選択していることを確認してください。 ワークスペースは、作成されたリージョンにのみ表示されます。
-
RAM ユーザーとしてログインしている場合は、そのユーザーが Realtime Compute for Apache Flink コンソールに必要な権限を持っていることを確認してください。 権限設定の詳細については、「権限」をご参照ください。
エラー: IP アドレス不足
-
エラーの詳細
Has not enough ip address: abnormal event detected from kubernetes (type:[Warning], reason:[CniError_CodeUnKnownErr], message:[CniAllocateError: allocateIP failed: ipamCreate failed: failed to create ENI: all vSwitches ([*****]) cannot be used: CreateNetworkInterface: RequestId: 67959AE5-EA20-5CB4-8560-5BD6752472FD, ErrorCode: InvalidVSwitchId.IpNotEnough, Message: The specified VSwitch "*****" has not enough IpAddress., elapsedTime: 245.03232ms]) -
原因
vSwitch に利用可能な IP アドレスがありません。
-
解決策
利用可能な IP アドレスが十分にある vSwitch に変更します。 詳細については、「vSwitch の変更」をご参照ください。
エラー: HTTP 失敗応答
-
エラーの詳細
ファイルのアップロードが次のエラーメッセージで失敗します。
Unknown Error: Http failure response for https://xxx.oss-ap-southeast-1.aliyuncs.com: 0 Unknown Error -
原因
Alibaba Cloud 国際サイトのコンソールドメインが変更されました。 Object Storage Service (OSS) でオリジン間リソース共有 (CORS) ルールを最初に設定せずに、新しい alibabacloud.com ドメインを使用してファイルをアップロードすると、クロスオリジン制限によりリクエストは失敗します。
-
解決策
OSS コンソールで、Flink ワークスペースにバインドされている OSS バケットの CORS ルールを設定してください。 具体的な手順については、「アーティファクト」をご参照ください。
デプロイメントの Flink バージョンの表示
バージョンは、次のいずれかの方法で確認できます。
-
[ETL] または [Data ingestion] ページで、右側の [Configurations] をクリックします。 バージョンは [Engine Version] フィールドに表示されます。
-
ページで、対象のデプロイメントの名前をクリックします。 [Configuration] タブの [Basic] セクションでバージョン情報を表示します。
[Engine Version] フィールドには、
vvr-8.0.9-flink-1.17のような Flink バージョンが表示されます。
デプロイメントのエンジンバージョンの変更
-
SQL または YAML デプロイメントの場合
[ETL] または [Data ingestion] ページで、右側の [Configurations] をクリックし、[Engine Version] ドロップダウンリストから対象のバージョンを選択します。 デプロイメントがすでに実行中の場合は、バージョンの変更を反映させるために再デプロイして開始する必要があります。
-
JAR または Python デプロイメントの場合
[Deployments] ページで、対象のデプロイメントの名前をクリックします。 [Configuration] タブで、[Basic] セクションの右上隅にある [Edit] をクリックします。 [Engine Version] ドロップダウンリストから対象のバージョンを選択し、[Save] をクリックしてから、[Start] をクリックします。
カスタム実行パラメータの設定
-
対象のワークスペースを見つけ、[Actions] 列の [Console] をクリックします。
-
[Deployments] ページで、対象のデプロイメントの名前をクリックします。
-
[Configuration] タブで、[Parameters] セクションの右上隅にある [Edit] をクリックします。
-
[Other configuration] フィールドに、パラメータ設定を入力します。
各キーと値のペアのコロン (:) の後にスペースがあることを確認してください。 以下はコードサンプルです。
task.cancellation.timeout: 180s -
[Save] をクリックします。
共通の Flink 設定の永続化
Realtime Compute for Apache Flink は、頻繁に使用するパラメータをデフォルトとして保存するための [デプロイメントテンプレート]機能を提供します。 これにより、新しいデプロイメントごとに手動で設定する必要がなくなります。
左側メニューで [Configuration Management] をクリックし、[Default deployment configuration] タブを選択します。 [Streaming deployment] または [Batch deployment] サブタブで、[Checkpoint interval]、[Min pause between checkpoints]、[Checkpoint timeout]、[State TTL]、[Flink restart strategy] (例:Fixed Delay) などの実行パラメータを設定できます。 設定が完了したら、[Save changes] をクリックします。
機密情報の漏洩防止
変数を使用すると、AccessKey ペアやパスワードなどの機密情報をプレーンテキストで公開することによるセキュリティリスクを回避できます。 変数を再利用することで、同じコードや値を繰り返し記述する必要がなくなり、設定管理が簡素化されます。 SQL デプロイメント、JAR または Python デプロイメント、ロギング設定、UI 設定など、さまざまなシナリオで変数を使用できます。 詳細については、「変数の管理」をご参照ください。
Flink デプロイメントのリソース使用率の最適化
次の方法でリソースを調整できます。
-
手動調整: [Diagnosis] タブで [Diagnose] をクリックしてリソース分析の結果を表示し、提案に基づいて手動でリソースを調整します。
診断が完了すると、ページに結果が表示されます (例: All 5 checks passed. No fixable issues found.)。 [Resource analysis] セクションを展開して、詳細な結果を表示できます。
-
自動調整: インテリジェントチューニングモードとスケジュールチューニングモードを含む自動チューニング機能を有効にすると、Flink システムがリソースを自動的に調整できるようになります。 ユースケースと設定の詳細については、「自動チューニングの設定」をご参照ください。
Cron 式の構文
状態管理では Unix 形式の Cron 式構文を使用しますが、ワークフローオーケストレーションでは Java 形式の構文を使用します。 各シナリオで正しい Cron 式を使用していることを確認してください。
Unix 形式の構文
-
Unix 形式の式には、
minute hour day-of-month month day-of-weekの 5 つのフィールドがあります。 -
月の日と曜日の和集合: 3 番目のフィールド (月の日) と 5 番目のフィールド (曜日) の両方に値を指定すると、それらは論理 OR で結合されます。
式
0 12 1 * 5は、タスクが毎月 1 日の午後 12:00、または毎週金曜日に実行されることを意味します。 月の 1 日が金曜日でもある場合にのみタスクが実行されるわけではありません。 -
疑問符はサポートされていません
?: システムがエラーを報告するか、認識できないため、?は使用しないでください。 フィールドを無視したい場合は、*のみを使用できます。
Java 形式 (Quartz) の構文
-
Java 形式の式では通常、
second minute hour day-of-month month day-of-weekの 6 つのフィールドを使用します。 -
月の日と曜日の間の競合:
-
月の日と曜日の両方のフィールドに同時に値を指定したり、両方を
*に設定したりすることはできません。 -
1 日が金曜日ではない場合に、月の 1 日と金曜日を同時に指定するなどの論理的な矛盾を避けるには、これら 2 つのフィールドのいずれかを
?にする必要があります。 ルール: 日を指定する場合、曜日は
?にする必要があります。曜日を指定する場合、日は?にする必要があります。
-
-
異なる曜日の値: 1 は日曜日、2 は月曜日などを表します。 混乱を避けるために、英語の略語 (
SUN、MON、TUE) を使用することを推奨します。