簡體   English   中英

如何在 Kubernetes Flink 集群中實現 JobManager 高可用?

[英]How to achieve JobManager High Availability in a Kubernetes Flink Cluster?

Flink 官方文檔提供了 Standalone 和 Yarn Flink 集群的jobmanager 高可用解決方案。 但是使用 Kubernetes Flink 集群應該怎么做才能實現高可用性呢?

從文檔的Kubernetes 設置部分來看,我們似乎在部署到 Kubernetes 集群時只部署了一個 Jobmanager。 那么Kubernetes Flink集群如何實現HA呢?

官方文檔說job manager的高可用是為了處理job manager崩潰的情況。 所以只需要一個作業管理器,但你想處理它出現故障的情況。 在 Kubernetes 上,如果它出現故障,那么 Kubernetes 應該檢測到這一點並自動重新啟動它。 所以你不需要運行它的更多副本。

(該文檔明確說明了將 yarn 用於 ha 。它似乎並未針對 Kubernetes說明這一點,但重新啟動失敗的 Pod 是Kubernetes 的標准行為。)

任務管理器默認配置與官方K8S資源上Kubernetes多個副本運行(見“副本”條目中的資源),但作業管理是沒有的。 在掌舵圖中也是如此。)所以我相信作業管理器不需要它 - 我建議使用單個作業管理器運行,除非您遇到特定問題。

我同意 Ryan 關於 Kubernetes 滿足 HA 部署的大部分要求這一事實的回答。

使用 Kubernetes,您可以使用基於文件的 HA 運行 Flink 作業集群,而不是使用 ZooKeeper 或其等效物。

你可以在這個 github repo 中找到一個關於如何正確設置它的例子(有或沒有 HA)。

人們可能還會發現那些解釋如何在 k8s 上正確部署 flink 作業集群在沒有 zookeeper 的情況下實現基於文件的高可用性的博文很有用。

(披露:我寫了帖子並設置了回購)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM