すべてのプロダクト
Search
ドキュメントセンター

Realtime Compute for Apache Flink:データインジェストに関するよくある質問とソリューション

最終更新日:Feb 28, 2026

このトピックでは、Flink CDC を使用したデータインジェストジョブに関するよくある質問について説明します。

クイックリファレンス

症状フェーズ重要度リンク
高い SnapshotSplits メトリック値での JobManager のメモリ不足 (OOM)スナップショット重大FAQ 1
残りのシャードが少ない場合の TaskManager のメモリ不足 (OOM)スナップショット重大FAQ 3
増分読み取り中の状態復元時の JobManager のメモリ不足 (OOM)増分重大FAQ 2
ロックフリースキーマ変更後に新しいデータはありません。pt-oscスキーマ変更FAQ 4
ロックフリーのスキーマ変更後の Transform 列の型不一致スキーマ変更FAQ 5
スキーマ変更前のセーブポイントからのジョブ復元失敗状態回復FAQ 6

スナップショットフェーズ

FAQ 1: スナップショットフェーズ中の JobManager のメモリ不足 (OOM)

重要度: 重大 | フェーズ: スナップショット | 対象バージョン: すべての VVR エンジンバージョン

症状

  • スナップショットフェーズ中にジョブが繰り返し再起動します。

  • JobManager のログに OutOfMemoryError (OOM) スタックトレースが含まれています。

  • [アラーム] タブで、Num of remaining SnapshotSplits および Num of processed SnapshotSplits メトリックが異常に高い値を示します。

Alarm tab showing high SnapshotSplits metrics

原因

スナップショットフェーズ中、MySQL ソースはすべてのテーブルシャードのメタデータを Flink ジョブの状態に永続化します。ジョブが大量のデータを処理する場合、または非常に小さいシャードサイズを使用する場合、JobManager は過剰な数のシャードを作成します。これにより、メモリが過剰に消費され、JobManager のメモリ不足が発生します。

ソリューション

  1. JobManager に割り当てられるメモリリソースを増やします。

  2. JobManager のヒープメモリとオフヒープメモリを増やすために、次のパラメーターを調整します。

    • jobmanager.memory.heap.size

    • jobmanager.memory.off-heap.size


FAQ 3: スナップショットフェーズ終了時の TaskManager のメモリ不足 (OOM)

重要度: 重大 | フェーズ: スナップショット | 対象バージョン: すべての VVR エンジンバージョン

症状

  • TaskManager はスナップショットフェーズの終盤、通常は残りのシャードが少ない場合にメモリ不足になります。

  • TaskManager のログで using select statement を検索すると、最後の無制限クエリが非常に大量のデータを伴うことが明らかになります。

原因

スナップショットフェーズ中のデータ読み取りが長期化すると、最終シャードまたは複数のシャードに大量の増分データが蓄積されます。TaskManager がこの大量に蓄積されたシャードを処理すると、メモリ不足が発生します。

ソリューション

  1. 次のオプションを設定します。

       scan.incremental.snapshot.unbounded-chunk-first.enabled: true
  2. スナップショットを再実行します。


増分フェーズ

FAQ 2: 増分フェーズ中の状態復元時の JobManager のメモリ不足 (OOM)

重要度: 重大 | フェーズ: 増分 | 対象バージョン: VVR 11.1 以前

症状

  • ジョブは増分フェーズに入りますが、状態復元中に失敗します。

  • JobManager のログに OOM が表示されます。

原因

VVR 11.1 以前のバージョンでは、スナップショットフェーズから増分フェーズへのトランジション後、ジョブの状態から永続化されたテーブルスキーマ情報が適切にクリーンアップされない場合があります。この残されたスキーマ情報が蓄積され、ジョブがチェックポイントから状態を復元する際に OOM が発生します。

ソリューション

  1. VVR 11.2 以降にアップグレードします。


スキーマ変更

FAQ 4: pt-osc を使用したロックフリーのスキーマ変更後の新規データなし

重要度: 高 | フェーズ: スキーマ変更 | 対象バージョン: VVR 11.1 以前

症状

  • ロックフリーのテーブルスキーマ変更後も、ジョブは再起動せずに実行を継続します。

  • CurrentFetchTimeLag メトリックは期待どおりに進行し、データがフェッチされていることを示します。

  • MySQL ソースは新規データの生成を停止し、CurrentEmitTimeLag メトリックの更新が停止します。

原因

VVR 11.1 以前のバージョンでは、pt-osc などのロックフリーのスキーマ変更ツールによって生成された DDL 変更イベントを正しく処理できません。これにより、スキーマ変更後にデータパイプラインが停止します。

ソリューション

  1. VVR 11.2 以降にアップグレードします。

  2. 次のオプションを設定します。

       scan.parse.online.schema.changes.enabled: true

FAQ 5: ロックフリーのスキーマ変更後の Transform 列の型不一致

重要度: 高 | フェーズ: スキーマ変更 | 対象バージョン: VVR 11.1 以前

症状

  • ロックフリーのテーブルスキーマ変更 (たとえば、pt-osc の使用) 後にジョブが予期せず再起動します。

  • Transform オペレーターのログに列の型不一致エラーが示されます。

原因

これは VVR 11.1 の既知の問題です。ロックフリーのスキーマ変更操作中に大量のデータがテーブルに挿入されると、エンジンが解析不能なイベントを生成する可能性があります。

ソリューション

  1. VVR 11.2 以降にアップグレードします。

  2. ロックフリーのスキーマ変更前に作成されたセーブポイントからステートフル再起動を実行します。


状態回復

FAQ 6: スキーマ変更前のセーブポイントからのジョブ復元失敗

重要度: 高 | フェーズ: 状態回復 | 対象バージョン: VVR 11.1 以前

症状

  • テーブルスキーマ変更前に作成されたセーブポイントからのステートフル再起動が失敗します。

  • エラーメッセージは、バイナリログの消費中にテーブルスキーマ不一致例外が発生したことを示しています。

原因

VVR 11.1 以前のバージョンは、互換性のないテーブルスキーマを含むセーブポイントからのステートフル再起動をサポートしていません。

ソリューション

  1. VVR 11.2 以降にアップグレードします。

  2. アップグレード後、スキーマ変更前のセーブポイントからジョブを再起動します。