思路: 在driver端,啟動乙個檢測線程,週期性檢測hdfs上的標記檔案是否存在,存在則平滑停止,不存在則繼續執行。偽**如下:
除了以上的標記停止法外,還嘗試了其他方式,如下:val ssc =
newstreamingcontext
(sparkconf,durations.
seconds(5
))// dstream、transformation、action ......
// ...
// ...
// ...
// 檢查間隔
val checkmillis=
30000
// 停止標記
val stopfilemarker=
// 後台檢查執行緒
newthread
(new
runnable
else
thread.
sleep
(checkmillis)}}
}).start()
// 啟動
ssc.
start()
ssc.
awaittermination
()
設定spark.streaming.stopgracefullyonshutdown=true
,從spark webui
kill 作業,效果不理想。
設定spark.streaming.stopgracefullyonshutdown=true
,從spark webui
上找到driver
,然後ssh到driver節點,再找到對應的driver程序,用kill -sigterm
,可以實現平滑停止。但太過複雜。
綜上,可以使用標記停止法來平滑停止spark streaming作業。
Spark Streaming入門詳解
背景 使用spark主要是使用spark streaming,spark streaming的魔力之所在於 1.流式處理,如今是乙個流處理時代,一切與流不相關的都是無效的資料。3.spark streaming本身是乙個程式,spark streaming在處理資料的時候會不斷感知資料。所以對構建複...
Spark Streaming 程式監控
官網中指出,spark中專門為sparkstreaming程式的監控設定了額外的途徑,當使用streamingcontext時,在web ui中會出現乙個 streaming 的選項卡,在此選項卡內,統計的內容展示如下 這其中包括接受的記錄數量,每乙個batch內處理的記錄數,處理時間,以及總共消耗...
spark streaming讀取kafka示例
spark streaming讀取kafka示例,其中 spark streaming優雅的關閉策略優化部分參考 如何管理spark streaming消費kafka的偏移量部分參考 spark向kafka中寫入資料部分參考 object demo 建立streamingcontext return...