spark監控調優

一、Spark運行時架構:

Spark分佈式結構採取 主/從 結構模式。主是驅動器(Driver)節點,這個節點負責中央協調,調度各個工作(執行器executor)節點。

從是執行器(executor)節點。

Spark驅動器節點和執行器節點統稱爲Spark應用。Spark應用通過集羣管理器在集羣的機器上啓動。


二、驅動器和執行器的任務:

驅動器任務:負責運行組成Spark作業的任務;

執行器任務:爲要求緩存的RDD提供內存式存儲。


三、集羣管理器

Cluster Manager可以用來啓動驅動器節點、執行器節點。一般來說,包含以下的集羣管理器:Hadoop Yarn,Apache Mesos,Spark自帶的集羣管理器。


四、spark-submit的格式:

/bin/spark-submit [options] <app jar | python file> [app options]



五、Spark性能調優:

如何調優和調試生產環境中的Spark工作負載。

1.調整Spark應用的運行時配置選項。通過SparkConf類對Spark進行配置。

val conf = new SparkConf()

conf.set("spark.app.name","My Spark App")

conf.set("spark.master","local[4]")

conf.set("spark.ui.port","36000")


val sc = new SparkContext(conf)


2.在提交任務給spark-submit時,可以通過--conf 選項來。 

例如bin/spark-submit --class com.vip.SimpleClass --master local[4] --name "My Spark App" --conf spark.ui.port=36000 myapp.jar


3.通過spark-submit的--properties-file標記來指定配置文件的路徑:

spark-submit --class com.vip.SimpleClass --properties-file my-config.conf 


既然上邊介紹了3種不同的方法來設置參數,所以如果在3個情況都配置之後,會發生衝突,那麼這3種方式有一個優先級區別。優先級從高到低分別是1,2,3。如果衝突時,以第1種爲準。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章