
何謂資源管理?
|
177
第七章:資源管理
第七章
資源管理
何謂資源管理?
假設在理想世界中,有多個使用者群組,每個群組的任務都有不同的服務層級協議
(
SLA
),而且能共存於一個共享的系統,並很開心地不會察覺到其他任務的存在。
硬碟空間、讀寫
IO
、記憶體、
CPU
時間與網路頻寬都是沒有上限的,而
MapReduce
任務也不受競爭硬碟存取現象的影響,每個工作天這些活動如波動般執行完畢,即使
演算法寫得很差,導致將資料大量寫入硬碟,也比您管理這種狀況的平均處理時間來
得快。以上的情境聽起來很棒,但我們不是活在理想世界,不用考慮
TB
等級資料是
否在地化(
locality
),具有無窮彈性的烏托邦世界並不存在。因此,接下來的問題是,
我們該如何建立一個環境,讓相互競爭的情形可以和平共存,同時確保正確的任務,
可以在正確的時間,取得正確的資源?
資源管理是關於控制有限的資源該分配多少給特定的使用者、群組或任務。在大型的
組織中,這些資源(通常可以分為儲存與計算)應該適當地進行合理的分配。這可能
意味著是由執行工作的個人,或者更常見的是根據事業群進行資源分配,而每個群組
的任務重要性各有不同。資源分配與身份驗證有關,我們必須知道某個人是誰,才能
知道該分配多少資源給他們。如果缺乏身份驗證(
authentication
)跟授權
(
authorization
),具惡意的使用者將能偽裝成其他身份,進而取得更多資源。合理的
資源管理是規劃與建立多租戶環境的一個環節。
在
Hadoop
中,我們主要關心的資源是
HDFS
所使用的硬碟空間與檔案個數,還有在 ...