hadoop心跳機制

主節點和從節點之間的通信是通過心跳機制(心跳實際上是一個RPC函數)實現的
所謂“心跳”是一種形象化描述,指的是持續的按照一定頻率在運行,類似於心臟在永無休止的跳動。

心跳機制:

1) master啓動的時候,會開啓一個RPC server
2) slave啓動時進行連接master,並每隔3秒鐘主動向master發送一個“心跳”
將自己的狀態信息告訴master,然後master通過這個心跳的返回值,向slave節點傳達指令。

HDFS:
DataNode----->NameNode 3s 本地磁盤上block塊的使用情況 1h block的report
當長時間沒有發送心跳時,NameNode就判斷DataNode的連接已經中斷,不能繼續工作了
就把他定性爲”dead node”。NameNode會檢查dead node中的副本數據,複製到其他的data node中。
YARN:

NodeManager----->ResourceManager 3s 本節點上cpu 內存.....
ApplicationMaster----->ResourceManager 申請資源,返還資源
1
2
MapReduce:

TaskTracker----->JobTracker 彙報節點和任務運行狀態信息
1、判斷Tasktracker是否活着
2、及時讓Jobtracker獲取各個節點上的資源使用情況和任務運行狀態
3、爲Tasktracker分配任務

注意:
Jobtracker與Tasktracker之間採用了Pull(拉)而不是Push(推)模型
Jobtracker不會主動向Tasktracker發送任何信息,而是由Tasktracker主動通過心跳領取屬於自己的信息
Jobtracker只能通過心跳應答的形式爲各個Tasktracker分配任務
Tasktracker週期性的調用RPC函數heartbeat向Jobtracker彙報信息和領取任務


作者:霧幻
來源:CSDN
原文:https://blog.csdn.net/lb812913059/article/details/78713523
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

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