取消
顯示的結果
而不是尋找
你的意思是:

磚的工作關於火花結構化流零停機部署在起程拓殖。

MarsSu
新的貢獻者二世

我想問如何實現零停機部署火花結構化流與起程拓殖磚工作的計算。

因為我們將升級引發應用程序代碼的版本。但目前我們發現每一個部署將取消原來的工作,創造新的一個,它會中斷約5分鍾。

基於這種情況,我們可以有方法實現零停機部署新版本。如果你有任何想法,請分享它給我。我將不勝感激,謝謝。

1接受解決方案

接受的解決方案

匿名
不適用

@Mars蘇:

是的,在一個藍綠色的部署場景中,藍色和綠色版本的火花結構化流工作將同時運行,交通逐漸從藍色轉向綠色版本。

關於檢查點的位置,一般建議使用單獨的檢查點位置為每個版本的工作,以避免潛在的衝突或數據損壞。這是因為檢查點位置存儲流的狀態查詢,包括當前偏移量,用於恢複查詢故障或重新啟動。

在起程拓殖為了達到這個目標,你可以定義兩個不同的檢查點位置的藍色和綠色版本的工作,並指定他們的

checkpoint_location spark_conf塊的參數為每個工作。例如:

#藍色工作資源”databricks_job”“blue_job”{#……new_cluster {#……spark_conf = {" spark.sql.streaming。checkpointLocation " = " /藍色/檢查站”}}#……}#綠色工作資源“databricks_job”“green_job”{#…new_cluster {#……spark_conf = {" spark.sql.streaming。checkpointLocation " = " /綠色/檢查站”}}#……}

在這個例子中,藍色的工作將使用檢查點位置/藍色/檢查站

,而綠色工作將使用/綠色/檢查站。請注意,您還需要確保任何輸出或中間數據寫入單獨的位置為藍色和綠色版本的工作,避免衝突或數據損壞。

在原帖子查看解決方案

5回複5

匿名
不適用

@Mars蘇:

是的,你可以實現零停機在磚的工作部署火花結構化流計算使用起程拓殖。實現這一目標的一個方法是通過使用磚”“集群”功能,它允許您創建一個集群專為運行工作。這是如何實現零停機使用起程拓殖部署:

  1. 創建一個新的集群工作引發的新版本的應用程序代碼。使用在起程拓殖databricks_job_cluster資源創建新的集群。您可以指定要使用的版本火花,以及任何其他配置您的應用程序所必需的。
  2. 一旦創建新集群,將引發的新版本的應用程序代碼部署到集群。您可以使用在起程拓殖databricks_job資源,它允許您指定集群ID上運行的工作。
  3. 一旦新工作新集群上運行,逐漸消耗流量從舊工作新的工作。你可以慢慢減少批量大小或利率的數據被發送到舊的工作,並增加新的工作。
  4. 一旦所有流量重定向到新工作,您可以安全地終止舊的工作和刪除它的集群。

遵循這些步驟,您可以實現零停機部署你的火花在磚使用起程拓殖的結構化流工作。注意,應該徹底地測試你的新工作在所有流量切換到它之前,以確保正常工作,在生產中不會引起任何問題。

MarsSu
新的貢獻者二世

@Suteja卡努裏人

謝謝你回答我的問題。

所以根據你的場景中,我們有2火花作業同時運行,對吧?喜歡藍色/綠色的部署。

但是,我想如果我們想要實現它。我們需要分裂檢查站位置兩個火花結構化流和獨立存儲?

匿名
不適用

@Mars蘇:

是的,在一個藍綠色的部署場景中,藍色和綠色版本的火花結構化流工作將同時運行,交通逐漸從藍色轉向綠色版本。

關於檢查點的位置,一般建議使用單獨的檢查點位置為每個版本的工作,以避免潛在的衝突或數據損壞。這是因為檢查點位置存儲流的狀態查詢,包括當前偏移量,用於恢複查詢故障或重新啟動。

在起程拓殖為了達到這個目標,你可以定義兩個不同的檢查點位置的藍色和綠色版本的工作,並指定他們的

checkpoint_location spark_conf塊的參數為每個工作。例如:

#藍色工作資源”databricks_job”“blue_job”{#……new_cluster {#……spark_conf = {" spark.sql.streaming。checkpointLocation " = " /藍色/檢查站”}}#……}#綠色工作資源“databricks_job”“green_job”{#…new_cluster {#……spark_conf = {" spark.sql.streaming。checkpointLocation " = " /綠色/檢查站”}}#……}

在這個例子中,藍色的工作將使用檢查點位置/藍色/檢查站

,而綠色工作將使用/綠色/檢查站。請注意,您還需要確保任何輸出或中間數據寫入單獨的位置為藍色和綠色版本的工作,避免衝突或數據損壞。

MarsSu
新的貢獻者二世

@Suteja卡努裏人

謝謝你的回複。這是一個偉大的解決方案和建議。

這對我來說是一個非常有用的。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map