基於CDP的CM維護Hadoop生態元件
CDP
- Cloudera Data Platform(CDP)是Cloudera公司推出的一個全面的資料平臺,它支援在多雲環境中部署和管理資料
- CDP提供了一種統一的方法來管理資料和分析工作負載,無論是在本地、公有云還是私有云環境中
- CDP包括多種服務和工具,如Cloudera Data Hub(CDH)、Cloudera Data Warehouse(CDW)、Cloudera Data Science(CDS)、Cloudera Operational DB(COD)和Cloudera DataFlow(CDF)等
CM
- CDP透過Cloudera Manager(CM)來管理和監控Hadoop生態系統中的元件
- CM是一個強大的工具,它提供了一個集中的介面來配置、管理和監控Hadoop叢集
在維護Hadoop生態元件方面,CM提供了以下功能
- 服務監控:CM可以監控叢集中服務的狀態,包括HDFS、YARN、Hive、HBase等,並提供實時的效能指標和日誌資訊
- 配置管理:CM允許管理員透過一箇中央介面來配置和管理叢集中的所有服務,無需直接登入到各個節點。
- 自動化部署:CM支援自動化部署新服務和元件,簡化了叢集的擴充套件和升級過程。
- 安全和合規性:CM提供了安全功能,如Kerberos認證、資料加密和訪問控制,以確保資料的安全性和合規性。
- 故障排查和診斷:當叢集出現問題時,CM提供了診斷工具和日誌分析功能,幫助管理員快速定位和解決問題。
- 高可用性和災難恢復:CM支援配置高可用性(HA)叢集,確保關鍵服務在節點故障時仍然可用。
- 整合開發和測試環境:CM可以與Cloudera的IDE整合,為開發人員提供沙箱環境,以便他們可以開發和測試新的資料處理流程。
Kerberos基本原理
- Kerberos是一種網路認證協議,它透過使用票務系統和金鑰分發中心(KDC)來在不安全的網路環境中對使用者和服務進行身份驗證,確保資料的安全性。在Kerberos中,使用者首先向認證伺服器(AS)證明自己的身份,然後獲得一個Ticket Granting Ticket (TGT),隨後使用TGT向票據授權伺服器(TGS)請求特定服務的票據,最後使用該服務票據向目標服務請求服務,整個過程涉及加密和解密操作以保證通訊的安全性,同時票據通常具有時間限制以防止重放攻擊。
身份驗證過程
- 使用者想要訪問一個服務(例如,一個網路服務或應用程式)
- 使用者透過輸入使用者名稱和密碼向認證伺服器(AS)證明自己的身份
票務系統
- 認證伺服器驗證使用者的身份後,會發放一個票據稱為Ticket Granting Ticket (TGT)
- TGT是一個加密的票據,它包含了使用者的身份資訊和一些服務票據請求的許可權,只有認證伺服器才能解密
服務票據請求
- 使用者使用TGT向票據授權伺服器(TGS)請求一個特定服務的票據
- TGS驗證TGT的有效性後,會發放一個服務票據給使用者
訪問服務
- 使用者使用服務票據向目標服務請求服務
- 服務會驗證票據的有效性,如果驗證透過,服務會為使用者提供所需的資源或資料
金鑰分發中心(KDC)
- KDC通常包含認證伺服器(AS)和票據授權伺服器(TGS),它們共同負責處理認證和票據發放
安全性
- 所有的票據都是使用服務的金鑰進行加密的,確保只有對應的服務可以解密和驗證票據
- 票據通常有一個時間限制,過期後將不再有效,這增加了安全性
防止重放攻擊
- 票據中包含時間戳和其他唯一識別符號,以確保票據不會被重複使用
跨域認證
- Kerberos還支援跨域認證,允許使用者在不同的域之間進行無縫的身份驗證
透過shell進行kerberos鑑權
獲取票據
- 首先,需要使用kinit命令獲取Kerberos票據,通常需要輸入Kerberos密碼
kinit <username>@<REALM>
- 或者有密碼檔案(如~/.k5login或/etc/k5login),可以直接執行:
kinit
檢視票據
- 使用klist命令檢視當前獲取的Kerberos票據
klist
使用票據進行鑑權
- 一旦有了票據,就可以使用它來對服務進行鑑權。例如,嘗試訪問HDFS,可以使用以下命令,這個命令將使用Kerberos票據來鑑權,並列出HDFS根目錄的內容
hdfs dfs -ls /
票據續期
- Kerberos票據通常有一個有效期,需要定期續期,可以使用kinit命令與-renew選項來續期票據
kinit -renew
刪除票據
- 完成操作後,可以使用kdestroy命令來刪除票據
kdestroy