Master和Worker是執行任務之前存在的進程 (類似於公司)
Driver和Excutor是任務執行之后存在的進程(類似於公司接到項目后才成立的項目小組)
啟動步驟:
- 啟動Master資源管理進程和Work進程
- 有任務來執行時會啟動Driver進程,然后向Master資源管理進程進行注冊並申請資源
- Master資源管理進程分配資源給Worker進程
- Work進程開啟Executor進程, Worker進程向Master進程報告Executor的狀態
- Executor(持有Driver對象引用)在啟動開始時會先向Driver進行注冊,
注測的目的:
- 將執行的Executor放入到Driver的Executor集合中,以便Executor發出心跳檢測信號和Driver進行接收並更新時間后, 進行超時檢測
- Driver划分任務后可以分配任務給Driver
- Executor注冊完畢后, Driver會划分任務(Task),然后調度任務(Task)給注冊的Executor去執行
- Executor執行任務(Task)時會向Driver報告任務執行狀態,直到執行完
- 任務執行完后,Executor進程會消失, 最后Driver進程也會向Master進程進行注銷