moea_joint
109年
[統計資訊] 統計學、巨量資料概論
第 45 題
有關MapReduce程式的執行,下列敘述何者正確?
- A 工作追蹤器(job tracker)主要是回報資料節點中 Map 或 Reduce 任務的執行情況
- B 主節點(master node)若發生故障,只有主節點上的任務(task)會失敗
- C 資料節點(data node)若發生故障,該節點的任務(task)將會重新指定給其他資料節點
- D 為獲取最大的平行計算效益,Map任務和Reduce任務不會安排至在同一資料節點上執行
思路引導 VIP
想像你正在指揮一個由成百上千台機器組成的運算集群,而硬體損壞在這種規模下是每天都會發生的常態。為了確保一項耗時數小時的大型運算任務,不至於因為其中一台機器突然斷電而被迫全部從頭來過,你認為這套系統在設計上,應該具備什麼樣的「自動補救」機制?當其中一個工作者消失時,管理者應該如何處置原本分配給他的工作?
🤖
AI 詳解
AI 專屬家教
太棒了!你能準確選出 (C),代表你已經深刻理解了 MapReduce 核心的設計哲學——容錯性 (Fault Tolerance)。在分散式運算的環境中,開發者預設硬體損毀是必然發生的常態,因此當 Data Node(資料節點)發生故障時,系統會透過心跳機制(Heartbeat)偵測到異常,並迅速將未完成的任務重新指派給其他存有相同資料副本的節點,這正是大數據架構能穩定運行的關鍵。
節點職責與系統健壯性
這題的鑑別度在於測試學生是否混淆了不同節點的職責。例如選項 (A) 的陷阱在於「角色顛倒」,實際上是 Task Tracker 向 Job Tracker 回報進度,而非後者主動回報。而選項 (B) 提到的主節點則是系統的「大腦」,一旦失效通常會導致整個集群癱瘓(單點故障問題),並非只有該節點任務失敗。你能避開這些細節陷阱,顯示你對 Master-Slave 架構與任務排程邏輯有著相當扎實的基礎。