Kubernetes HA Services
This documentation is for an unreleased version of Apache Flink. We recommend you use the latest stable version.

Kubernetes HAサービス #

FlinkのKubernetes HAサービスは、高可用性サービスにKubernetesを使います。

Kubernetes高可用性サービスは、Kubernetesにデプロイする場合にのみ使えます。 従って、Kubernetes上のスタンドアローンFlinkまたはネイティブKubernetes統合を使う場合に設定できます。

必要条件 #

FlinkのKubernetes HAサービスを使うには、次の前提条件を満たす必要があります:

設定 #

HAクラスタを開始するには、次の設定キーを設定する必要があります:

  • high-availability.type (必須): high-availability.typeオプションはkubernetesに設定する必要があります。
high-availability.type: kubernetes
  • high-availability.storageDir (必須): JobManagerメタデータはファイルシステムhigh-availability.storageDirに保存され、この状態へのポインタのみがKubernetesに保存されます。
high-availability.storageDir: s3://flink/recovery

storageDirはJobManagerの障害を回復するために必要な全てのメタデータを保存します。

  • kubernetes.cluster-id (必須): Flinkクラスタを識別するには、kubernetes.cluster-idを指定する必要があります。
kubernetes.cluster-id: cluster1337

設定例 #

conf/flink-conf.yamlで高可用性モードを設定します:

kubernetes.cluster-id: <cluster-id>
high-availability.type: kubernetes
high-availability.storageDir: hdfs:///flink/recovery

Back to top

高可用性データのクリーンアップ #

Flinkクラスタの再起動中にHAデータを保持するには、単にデプロイメントを削除します(kubectl delete deployment <cluster-id>経由)。 全てのFlinkクラスタ関連リソース(例えば、JobManager Deployment、TaskManager pods、services、Flink conf ConfigMap)が削除されます。 HA関連のConfigMapsは、所有者参照を設定しないため、保持されます。 クラスタを再起動すると、以前に実行されていた全てのジョブが回復され、最後に成功したチェックポイントから再起動されます。

Back to top

inserted by FC2 system