原创 CacheManager運行原理流程圖和源碼詳解
一:CacheManager分析: 1,CacheManager管理的是緩存,而緩存可以是基於內存的緩存,也可以是基於磁盤的緩存; 2,CacheManager需要通過BlockManager來操作數據; 3.當Task運行的
原创 CheckPoint運行原理
一、Checkpoint到底是什麼? 1,Spark在生產環境下經常會面臨Tranformations的RDD非常多(例如一個Job中包含1萬個RDD)或者具體Tranformation產生的RDD本身計算特別複雜和耗時(例如
原创 Spark天堂之門
1, Spark程序在運行的時候分爲Driver和Executors兩部分; 2, Spark的程序編寫是基於SparkContext的,具體來說包含兩方面: a)Spark編程的核心基礎---RDD,是由SparkCont
原创 Spark RPC
一:Spark 1.6RPC解析 1,Spark 1.6推出RpcEnv,RPCEndpoint,PRCEndpointRef爲核心的新型架構下的RPC通信方式,就目前的實現而言,其底層依舊是Akka; 2,Akka是基於Acto
原创 Spark性能優化第二季
一:Task性能優化 1,慢任務(數據傾斜或機器故障)的性能優化:可以考慮減少每個partition處理的數據量,同時建議開啓spark.speculation; 2,儘量減少Shuffle,例如我們要減少groupByKey的操
原创 Spark Runtime內幕
一 再論spark集羣部署 1.從spark runtime的角度來講有五大核心對象:master,worker,executor,driver,coarseGrainedExecutorBackend; 2.Spark在做集羣分
原创 Task執行內幕與結果處理解密
1.當Driver中的CoarseGrainedSchedulerBackend給CoarseGrainedExecutorBackend發送LaunchTask之後,CoarseGrainedExecutorBackend在
原创 TaskScheduler內幕天機:Spark shell案例,TaskScheduler和SchedulerBackend、FIFO與FAIR、Task運行時本地性算法詳解
TaskSchedulerBackend與SchedulerBackend FIFO與FAIR兩種調度模式 Task數據本地性資源的分配 一、TaskScheduler運行過程(Spark-shell角度) 1.啓動Spar
原创 BlockManager初始化和註冊解密、BlockManagerMaster工作解密、BlockTransferService解密、本地數據讀寫解密、遠程數據讀寫解密
1. BlockManager的註冊和初始化 2. BlockManager裏面的重要函數詳細介紹 一:BlockManager初始化 1. BlockManager的實例對象調用initializes的時
原创 Spark性能優化第一季
一:Spark性能優化核心基石 1, Spark是採用Master-Slaves的模式進行資源管理和任務執行的管理: a) 資源管理:Master-Workers,在一臺機器上可以有多個Workers; b) 任務執行:Drive
原创 Stage劃分和Task最佳位置算法
1.Stage劃分算法解密 Spark Application中可以因爲不同的Action觸發衆多的Job,也就是說一個Application鍾可以有很多的Job,每個Job是由一個或者多個Stage構成的,後面的Stage依賴
原创 Master的註冊機制和狀態管理解密
一 、master對其他組件註冊的處理 1, master接受註冊的對象主要就是:driver,application,worker;需要補充說明executor不會註冊給master,executor是註冊給driver中的s
原创 Master HA
一:Master HA解析 1, 生產環境下一般採用ZooKeeper做HA,且建議爲3臺Master,ZooKeeper會自動化管理Masters的切換; 2, 採用ZooKeeper做HA的時候,ZooKeeper會負責保存整
原创 Spark Worker原理和源碼剖析解密
1.Spark源碼剖析 2.Worker啓動Driver源碼 3.Worker啓動Executor源碼 4.Worker與Master交互 一:worker啓動driver內幕和流程機制 1, Cluster中的Dr
原创 Spark資源調度
1.分配Driver(Cluster,只有在cluster模式在master才能爲dirver分配資源) 2.爲Application分配資源 3.兩種不同的資源分配方式 4.spark資源調度方式 一:任務調度與資源調度的