spark集群各角色簡介
常駐進程:Master進程 Worker進程
當我們提交spark任務的時候(spark-shell ,spark-submit)
會生成了一個Applications,默認會佔用所有Worker的cores,每一個默認佔用了1g內存。
可在啟動時指定參數。
通過jps命令,可以查看到
在執行spark-submit的節點上,有spark-submit(dirver)進程,
在任務執行的節點上(worker節點上),有 CoarseGrainedExecutorBackend(executor) 進程。
然後,當我們的任務執行完畢之後,這兩個進程都會退出了。
Worker的功能: 定時和master通信;調度並管理自身的executor
executor: 由Worker啟動的,程序最終在executor中運行,(程序運行的一個容器)
spark-submit命令執行時,會根據master地址去向 Master發送請求,
Master接收到Dirver端的任務請求之後,根據任務的請求資源進行調度,(打散的策略),儘可能的把任務資源平均分配,然後向WOrker發送指令
Worker收到Master的指令之後,就根據相應的資源,啟動executor(cores,memory)
executor會向dirver端建立請求,通知driver,任務已經可以運行了
driver運行任務的時候,會把任務發送到executor中去運行。
推薦閱讀:
※大數據分析美國大選——Twitter數據情感分析
※如何學習 Spark-經典Spark視頻教程!
※MapReduce過程中,如果Map之後每個Key對應Value的數量不平衡會不會影響效率?
※Scala簡明語法
※梯度迭代樹(GBDT)演算法簡介及Spark MLlib調用
TAG:Spark |