
Hadoop MapReduce
簡介
|
37
也同時增加了在想要執行一個工作時,能夠找到擁有檔案副本的機器,且可供運算的
機率。
背景程式
在
Hadoop MapReduce
中,有兩個主要的背景程式(
daemon
):
JobTracker
(
任務追
蹤者
)與
TaskTracker
(
工作追蹤者
)。
Jobtracker
JobTracker
是一個主控程序(
master process
),它負責接受由用戶端(
client
)發起的
任務(
job
),然後將工作(
task
)進行排程,分配到工作節點上執行,並且還擔負工
頭的任務,像是追蹤工作節點的健康狀態、監控整座叢集上工作執行的進度。每座
MapReduce
叢集只會有一個
JobTracker
,因此它通常運行在可靠的硬體上。畢竟主控
節點萬一發生故障,將會造成所有正在運行的任務都宣告失敗。用戶端(
client
)與
TaskTracker
(詳第
38
頁的「
TaskTracker
」)透過遠端程序呼叫(
RPC
,
remote procedure
call
)的方式,與
jobtracker
溝通。
就像在
HDFS
中,資料節點(
datanode
)與名稱節點(
namenode
)之間的關係,
TaskTracker
會透過經常性的心跳(
heartbeat
)訊號告知
JobTracker
他們目前的健康
狀態。每個心跳訊號包含可用的
map
和
reduce
工作插槽
(
task slot
)總數(詳第
38
頁的「
TaskTracker
」)、目前被佔用的個數,以及任何目前正在執行中的工作細節。
當一段時間 ...