
228
|
第九章:故障排解
流失。相反地,如果
Hadoop
背景程式搶不到資源,則對所有使用者都是有害的,且會
對資料通量與服務層級協議(
SLA
)有負面的影響。請正確地分配系統資源給框架,
而您的
Hadoop
使用者與其他資料中心的服務是同等重要的。
主機識別與命名
一如資源枯竭,必須特別點出「主機識別與命名」是一種特殊的錯誤設定。一個工作
節點如何將自己識別為
NameNode
與
JobTracker
,與用戶端如何與它連線的方式相同。
如果
/etc/hosts
的設定錯誤,會發生一種有趣的錯誤,資料節點會回報它的
loopback
裝
置的
IP
位址給
NameNode
,並成功回傳心跳訊號,如此會導致用戶端永遠也無法跟它
連線。這一類問題經常發生在叢集剛開始設定的時候,但它們會消耗掉系統管理者無
數小時的時間,才能嘗試找出問題的主因。舉例來說,
Hadoop
的郵件列表(
mail list
)
中,充斥著許多最終發覺是識別與命名問題的討論。
網路隔離
一個網路隔離(
network partition
)通常是(非正式地)用來描述在某一個網段的主機,
無法與其他網段的主機進行連線。簡單來說,代表在交換器
1
的主機
A
無法傳送訊息
給位於交換器
2
的主機
B
。它們無法連線的理由,這裡故意不做定義,因為那個通常
不重要
2
。交換器、網路線、網路卡,甚至接收端的主機故障,對發送端而言,看起來
都一樣是無法連線(反之亦然)。更巧妙的是,當主機傳送訊息到另一台主機的時間
延遲超過特定臨界值,就會被視為無法傳送該訊息。換句話說,若主機無法在可接受 ...