深入理解hadoop(三)

2022-03-11 15:37:16 字數 934 閱讀 9309

hadoop 最初是為批處理作業設計的,當時只採用了乙個簡單的fifo排程機制分配任務,隨著hadoop的普及以及應用的使用者越來越多,基於fifo的單使用者排程機制不能很好的利用集群資源(比如機器學習和資料探勘對處理耗時要求不高但i/o密集,生產性作業隊實時要求高,如hive查詢統計cpu密集,即不同的作業型別對資源要求不一致),多使用者排程器勢在必行。多使用者排程主要有兩種思路,一種是在物理集群上虛擬出多個hadoop集群,優點是實現簡單,缺點是集群管理麻煩、排程資源浪費,典型代表hod(hadoop on demand);另一種是擴充套件hadoop排程器,使之支援多佇列多使用者排程,典型代表是capacity scheduler 和fair scheduler。

hadoop 以隊列為單位管理資源,使用者只能向乙個或多個佇列提交作業,佇列管理分為兩方便:使用者許可權管理和資源管理。管理員可以配置每個佇列的使用者和使用者組,也可以配置每個佇列的管理員,他可以kill佇列,改變佇列的優先順序等;系統支援管理有排程器完成,管理員可以設定各個佇列的資源容量引數。

capacity scheduler 主要是由yahoo實現的,主要有以下幾個特點:

由於hadoop 一般部署在由防火牆隔離的區域網環境之中,hadoop安全機制基本不用與考慮地域外網攻擊,更多的是保障多使用者在集群環境下安全高效的使用集群資源。hadoop rpc 採用了sasl(sample authentication and security layer) 進行安全認證。

kerberos 是一種網路安全認證協議,主要概念如下:

kerberos 一般採用對稱加密方式,認證流程如下圖:

kerberos相對於ssl的優點:

kerberos協議本身並不能完全解決網路安全性問題,它是建立在一些假定之上的,只有在滿足這些假定的環境中它才能正常執行:

深入理解hadoop資料傾斜

我們在用map reduce程式執行時,有時候會發現reduce節點大部分執行完畢,但是有乙個或者幾個reduce節點執行很慢,導致整個程式的處理時間很長,這是因為某乙個key的條數比其他key多很多 有時是百倍或者千倍之多 這條key所在的reduce節點所處理的資料量比其他節點就大很多,從而導致...

js深入理解(三)

1.物件的三個屬性 原型屬性 object.getprototypeof a 獲取a的原型 a.constructor.prootype 獲取a的原型 推薦 o.isprototypeof a 判讀o是否是a的原型 類屬性 function classof o classof o 輸出object ...

深入理解C語言 深入理解指標

關於指標,其是c語言的重點,c語言學的好壞,其實就是指標學的好壞。其實指標並不複雜,學習指標,要正確的理解指標。指標也是一種變數,占有記憶體空間,用來儲存記憶體位址 指標就是告訴編譯器,開闢4個位元組的儲存空間 32位系統 無論是幾級指標都是一樣的 p操作記憶體 在指標宣告時,號表示所宣告的變數為指...