
套用到系統的差異診斷
|
223
第九章:故障排解
第九章
故障排解
綜觀本書,我們一再重複地陳述著:
Hadoop
是一個由許多層服務組成的分散式系統。
由於在這些分層之間的互動,使得這類的系統是如此複雜,而且很難進行故障排解。
也因為這些複雜的活動關節、相互獨立的系統、對環境條件與外部因素的敏感度,與
潛在條件的潛在理由,
Hadoop
開始看起來像人體。我們將開始用這樣的方式來對待它
(很抱歉整個使用醫療領域的比喻)。
套用到系統的差異診斷
一般而言,系統遇到的問題,其中最重要的部份是不恰當的診斷。
1
在不知道真正主因
之前,您就無法修正問題。在醫療領域,為了合理地診斷有某種狀況的病患,通常會
使用差異診斷(
differential diagnosis
)的流程,來作為調查徵狀與彼此可能性的方式。
對那些沒有醫療背景的人來說,差異診斷本質上是一種知識導向與資料導向的刪除法
流程,透過執行一些檢驗來確認或排除潛在的條件。一開始聽起來像外來的觀念,但
事實上並不是,倘若想想我們的大腦是如何處理這類問題。然而,它確實有助於規範
一種方法,並依序執行。特別是當出錯時,您的老闆會站在你的肩膀旁,每五分鐘就
問一次到底修好了沒。當事情出錯時,請慢慢地深呼吸,然後披上你那白色的醫師袍。
1.
撰寫病患的病歷。
每個病患(主機、叢集、網路)都有一個故事要說。將最近系統的不同元件,
曾經發生過哪些問題的病史記錄下來,將有助於後續的診斷。最近的維運操作、
設定檔的變更、新的硬體,以及負載的變化,全部都是我們感興趣的點。
1