Hadoop多用户作业调度器和安全机制的自我总结
生活随笔
收集整理的這篇文章主要介紹了
Hadoop多用户作业调度器和安全机制的自我总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在掌握Hadoop平臺上,一直有兩個疑問困擾著:
1)Hadoop的用戶和用戶組和Linux操作系統用戶和用戶組之間的關系;
2)多用戶下,Hadoop平臺如何管理以保證作業調度和文件安全;
先說下Hadoop隊列管理機制:Hadoop以隊列為單位管理作業、用戶和資源,集群劃分成若干個隊列,
每個隊列分配一定的資源,用戶只能向對應的一個或幾個隊列中提交作業。
Hadoop隊列管理機制由用戶權限管理和系統資源管理兩部分組成:
1)用戶權限管理:
? ?hadoop的用戶管理模塊構建在操作系統用戶管理之上,管理員可配置每個操作系統用戶和用戶組具有的隊列權限。
? ?這就回答了第一個問題,hadoop用戶和用戶組就是Linux操作系統的用戶和用戶組。
2)系統資源管理:
? ?hadoop資源管理由調度器完成,管理員在調度器中配置各個隊列的資源容量、各個用戶可用資源量等信息,作業調度過程中按照所配置的相應資源約束進行。
? ?這就回答了第二個問題,多用戶下,hadoop調度器以隊列為單元來管理。
? ?
在mapred-queue-acls.xml文件中某用戶配置了某隊列的ACL權限管理,該用戶提交作業時就是由該隊列來執行;而該隊列所能使用的資源是由調度器根據配置來管理。
接下來比較關心的是:Hadoop資源調度器是如何基于隊列單元管理多用戶使用集群資源?
回顧下hadoop多用戶調度器的需求:
1)起初,Hadoop提供FIFO的調度機制,支持大數據批處理作業,所有作業統一提交到一個隊列中按照提交順序依次運行;
2)這樣機制在面對不同用戶提交的不同QoS應用程序的多樣化需求時,無法滿足,也不能充分利用集群資源;
3)基于這樣一個背景,hadoop多用戶多隊列的調度器誕生,需求驅動技術方案前進;
多用戶調度器支持集群管理員根據MR程序需求對用戶分組,并根據不同的分組分配不同的資源量(隊列),并設立各種約束防止單個用戶或程序獨占資源。
多用戶調度器實現上,有兩種主要思路:一是物理虛擬多個hadoop集群,如HOD調度器;二是邏輯上建立多隊列多用戶調度器,如Capacity Scheduler和Fair Scheduler。
多隊列多用戶調度器實現上的主要思想是:以隊列為單元劃分資源,每個隊列有最低資源和上限資源值,每個隊列內的每個用戶也有資源上限,并支持用戶間隊列間資源共享。比較具體的設計框架可詳細了解Capacity Scheduler和Fair Scheduler。
問題又來了,一個用戶一個隊列簡單了點,但安全。
多用戶多任務的調度器讓不同需求的用戶可以共享一個hadoop集群的計算資源和存儲資源,降低運維成本提高資源利用率,但安全隱患來了?普通用戶訪問機密、殺死了其他用戶的作業等。
Hadoop集群部署在內網,其安全考量主要是確保多用戶安全地共享集群資源。Hadoop安全基本需求有下面三點:
1)經過授權的用戶才可以訪問hadoop,否則任何linux上的用戶都可以訪問;
2)用戶只能訪問那些有權限訪問的文件或者目錄;
3)用戶只能修改或殺死自己的作業;
我們知道Hadoop集群的通信基礎是基于RPC和AVRO,顯然整體集群的安全機制就要考慮到RPC、MapReduce、HDFS三大模塊。
1)Hadoop RPC安全機制是基于Kerberos和令牌的身份認證機制以及基于ACL的服務訪問機制;
? ?Hadoop中RPC連接采用SASL認證機制,該機制采用第三方實現,包括Kerberos和DIGEST-MD5兩種認證機制。
? ?ACL服務訪問權限,可確保只有授權的用戶才能訪問對應的服務,限制只有若干用戶/用戶組可向Hadoop提交作業,管理員在hadoop-policy.xml中配置ACL。
2)HDFS的RPC通信連接和Block傳輸連接也采用Kerberos和令牌結合的身份認證;
3)MapReduce權限管理和身份認證要落實到作業的每個階段,包括作業提交和控制、任務啟動和運行等,具體可進一步擴展;
解決安全的問題,主要就是圍繞身份認證和訪問權限,Hadoop集群上的安全管理和機制可以去掌握具體的組件。
從hadoop集群以及其調度器和安全機制上,我們可以看出整個集群其實是一個各種組件的組合,ACL、JVM、RPC、AVRO等等,架構的價值也在于此。
這里也深刻體會到:應用需求驅動技術變現的模式,所有的知識儲備是為了技術轉化和落地,而要變現技術還需要市場和需求的驅動。
Hadoop集群的發展也正是體現了這點。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
1)Hadoop的用戶和用戶組和Linux操作系統用戶和用戶組之間的關系;
2)多用戶下,Hadoop平臺如何管理以保證作業調度和文件安全;
先說下Hadoop隊列管理機制:Hadoop以隊列為單位管理作業、用戶和資源,集群劃分成若干個隊列,
每個隊列分配一定的資源,用戶只能向對應的一個或幾個隊列中提交作業。
Hadoop隊列管理機制由用戶權限管理和系統資源管理兩部分組成:
1)用戶權限管理:
? ?hadoop的用戶管理模塊構建在操作系統用戶管理之上,管理員可配置每個操作系統用戶和用戶組具有的隊列權限。
? ?這就回答了第一個問題,hadoop用戶和用戶組就是Linux操作系統的用戶和用戶組。
2)系統資源管理:
? ?hadoop資源管理由調度器完成,管理員在調度器中配置各個隊列的資源容量、各個用戶可用資源量等信息,作業調度過程中按照所配置的相應資源約束進行。
? ?這就回答了第二個問題,多用戶下,hadoop調度器以隊列為單元來管理。
? ?
在mapred-queue-acls.xml文件中某用戶配置了某隊列的ACL權限管理,該用戶提交作業時就是由該隊列來執行;而該隊列所能使用的資源是由調度器根據配置來管理。
接下來比較關心的是:Hadoop資源調度器是如何基于隊列單元管理多用戶使用集群資源?
回顧下hadoop多用戶調度器的需求:
1)起初,Hadoop提供FIFO的調度機制,支持大數據批處理作業,所有作業統一提交到一個隊列中按照提交順序依次運行;
2)這樣機制在面對不同用戶提交的不同QoS應用程序的多樣化需求時,無法滿足,也不能充分利用集群資源;
3)基于這樣一個背景,hadoop多用戶多隊列的調度器誕生,需求驅動技術方案前進;
多用戶調度器支持集群管理員根據MR程序需求對用戶分組,并根據不同的分組分配不同的資源量(隊列),并設立各種約束防止單個用戶或程序獨占資源。
多用戶調度器實現上,有兩種主要思路:一是物理虛擬多個hadoop集群,如HOD調度器;二是邏輯上建立多隊列多用戶調度器,如Capacity Scheduler和Fair Scheduler。
多隊列多用戶調度器實現上的主要思想是:以隊列為單元劃分資源,每個隊列有最低資源和上限資源值,每個隊列內的每個用戶也有資源上限,并支持用戶間隊列間資源共享。比較具體的設計框架可詳細了解Capacity Scheduler和Fair Scheduler。
問題又來了,一個用戶一個隊列簡單了點,但安全。
多用戶多任務的調度器讓不同需求的用戶可以共享一個hadoop集群的計算資源和存儲資源,降低運維成本提高資源利用率,但安全隱患來了?普通用戶訪問機密、殺死了其他用戶的作業等。
Hadoop集群部署在內網,其安全考量主要是確保多用戶安全地共享集群資源。Hadoop安全基本需求有下面三點:
1)經過授權的用戶才可以訪問hadoop,否則任何linux上的用戶都可以訪問;
2)用戶只能訪問那些有權限訪問的文件或者目錄;
3)用戶只能修改或殺死自己的作業;
我們知道Hadoop集群的通信基礎是基于RPC和AVRO,顯然整體集群的安全機制就要考慮到RPC、MapReduce、HDFS三大模塊。
1)Hadoop RPC安全機制是基于Kerberos和令牌的身份認證機制以及基于ACL的服務訪問機制;
? ?Hadoop中RPC連接采用SASL認證機制,該機制采用第三方實現,包括Kerberos和DIGEST-MD5兩種認證機制。
? ?ACL服務訪問權限,可確保只有授權的用戶才能訪問對應的服務,限制只有若干用戶/用戶組可向Hadoop提交作業,管理員在hadoop-policy.xml中配置ACL。
2)HDFS的RPC通信連接和Block傳輸連接也采用Kerberos和令牌結合的身份認證;
3)MapReduce權限管理和身份認證要落實到作業的每個階段,包括作業提交和控制、任務啟動和運行等,具體可進一步擴展;
解決安全的問題,主要就是圍繞身份認證和訪問權限,Hadoop集群上的安全管理和機制可以去掌握具體的組件。
從hadoop集群以及其調度器和安全機制上,我們可以看出整個集群其實是一個各種組件的組合,ACL、JVM、RPC、AVRO等等,架構的價值也在于此。
這里也深刻體會到:應用需求驅動技術變現的模式,所有的知識儲備是為了技術轉化和落地,而要變現技術還需要市場和需求的驅動。
Hadoop集群的發展也正是體現了這點。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的Hadoop多用户作业调度器和安全机制的自我总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java实现余弦定理计算文本相似度
- 下一篇: Java开发SVM之Eclipse集成L