您好,登錄后才能下訂單哦!
Direct 方式的優缺點分析 :
介紹:他能夠在driver失敗的時候,通過讀取checkpoint目錄下的元數據,恢復當前streamingContext對象的狀態;它能夠察覺到driver進程異常退出之后,自動重啟。
具體流程:當第一次運行程序時,發現checkpoint中沒有數據,則根據定義的函數來第一次創建StreamingContext對象,當程序異常退出的時候,此時會根據checkpoint中的元數據恢復一個StreamingContext對象,達到異常退出之前的狀態,而實現異常退出并自動啟動則是sparkStreaming應用程序對driver進行監控,并且在他失敗的時候感知,并進行重啟。
必要條件:
- spark-submit提交作業的時候,必須是集群模式(cluster),并且必須在spark-standalong下。
spark-submit \
--class com.aura.mazh.spark.streaming.kafka.SparkStreamDemo_Direct \
//這里只能使用spark的standalong模式,所以配置為spark集群
--master spark://hadoop02:7077,hadoop04:7077 \
--driver-memory 512m \
--total-executor-cores 3 \
--executor-memory 512m \
#這句代碼一定要加,他可以使異常退出的driver程序,重新啟動
--supervise \
--name SparkStreamDemo_Direct \
--jars /home/hadoop/lib/kafka_2.11-0.8.2.1.jar,\
/home/hadoop/lib/metrics-core-2.2.0.jar,\
/home/hadoop/lib/spark-streaming_2.11-2.3.2.jar,\
/home/hadoop/lib/spark-streaming-kafka-0-8_2.11-2.3.2.jar,\
/home/hadoop/lib/zkclient-0.3.jar \
/home/hadoop/original-spark-1.0-SNAPSHOT.jar \
spark://hadoop02:7077,hadoop04:7077
- 需要添加--supervise \,才能實現失敗自啟動
- 需要配置checkpoint目錄,并且是存儲在hdfs上,jar也要放置在hdfs上
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。