ClouderaManager的背景和介紹
ClouderaManager的產生背景和應用場景
Apache版本的大資料元件
優點
完全開源,更新速度很快
大資料元件在部署過程中可以深刻了解其底層原理
可以瞭解各個元件的依賴關係
缺點
部署過程極其複雜,超過20個節點的時候,手動部署已經超級累
各個元件部署完成後,各個為政,沒有統一化管理介面
元件和元件之間的依賴關係很複雜,一環扣一環,部署過程心累
各個元件之間沒有統一的metric視覺化介面,比如說hdfs總共佔用的磁碟空間、IO、執行狀況等
優化等需要使用者自己根據業務場景進行調整(需要手工的對每個節點新增更改配置,效率極低,我們希望的是一個配置能夠自動的分發到所有的節點上)
ClouderaManager管理的CDH版本大資料元件
Cloudera Manager是用於管理CDH群集的端到端應用程式。
缺點
server和agent需要佔用額外的記憶體和cpu(server佔用記憶體為2G,agent佔用記憶體1G,總共cpu為0.5核)
對linux常用命令需要了解頗深
對hadoop的apache版本有一定的安裝經驗和調優經驗
優點
統一化的視覺化介面
自動部署和配置,大資料各類元件(hadoop、hive、hue、kudu、impala、zookeeper等)安裝、調優極其便捷
零停機維護(免費版本不具有彈性升級)
多使用者管理(許可權控制,支援ldap)
穩定性極好(部分優化措施都已經調整好)
應用場景
1. 適用於節點在5個以上、各類大資料服務超過5個的叢集,因為有些小公司緊緊就用了hdfs、yarn、hive、spark幾個服務,為了節省伺服器等資源,不需要部署cm 2. 適用於所有的大資料公司 3. 適用於對於大資料元件版本不需要經常變動的公司,例如:有些公司就是喜歡鑽研新技術,然後喜歡新版本,但是由於cm的免費版本不支援彈性升級,所以不建議喜歡新技術的公司用 4. 適用於運維人員,因為該平臺安裝好以後,維護工作相對來將就輕鬆許多,例如:使用apache版本的運維人員,對某一個元件進行調優,需要消耗半天的時間進行調整,效率極低;再比如安裝1000個節點,需要手動部署,工作量可想而知
補充:
cm在國內使用者量很大,戴爾、一號店等知名公司都在使用
cm和ambari在主流的大資料平臺框架中,使用者量比例很高
ClouderaManager介紹
CDH介紹
CDH是Apache Hadoop和相關專案中最完整、最穩定的、經過測試和最流行的發行版。
CDH提供了Hadoop的核心元素,可擴充套件儲存和分散式計算 ,以及基於Web的使用者介面和重要的企業功能。 CDH是Apache許可的開源軟體,是唯一提供統一批處理,互動式SQL和互動式搜尋以及基於角色的訪問控制的Hadoop解決方案。
CDH特點
靈活性 - 儲存任何型別的資料並使用各種不同的計算框架對其進行操作,包括批處理,互動式SQL,自由文字搜尋,機器學習和統計計算。
整合 - 在完整的Hadoop平臺上快速啟動並執行,該平臺可與各種硬體和軟體解決方案配合使用。
安全 - 處理和控制敏感資料。
可擴充套件性 - 支援廣泛的應用程式。
高可用性 – 可以執行關鍵型業務任務。
相容性 - 利用現有的IT基礎架構。
ClouderaManager介紹
Cloudera Manager是用於管理CDH群集的端到端應用程式。Cloudera Manager通過對CDH叢集的每個部分提供細粒度的可視性和控制來設定企業部署的標準,使運營商能夠提高效能,提高服務質量,提高合規性並降低管理成本。
使用Cloudera Manager,可以輕鬆部署和集中操作完整的CDH堆疊和其他託管服務(Hadoop、Spark、Kudu、Impala)。其特點:應用程式的安裝過程自動化,將部署時間從幾周縮短到幾分鐘; 並提供執行主機和服務的叢集範圍的實時監控檢視; 提供單箇中央控制檯,以在整個群集中實施配置更改; 並集成了全套的報告和診斷工具,可幫助您優化效能和利用率。
ClouderaManager架構
Cloudera Manager的核心是Cloudera Manager Server。提供了統一的UI和API方便使用者和叢集上的CDH以及其它服務進行互動,並實施監控和診斷等。
CM Server還負責安裝配置CDH和其相關的服務軟體,啟動停止服務,維護叢集中各個節點伺服器以及上面執行的程序。
Agent:安裝在每臺主機上。它負責啟動和停止程序,解壓縮配置,觸發安裝和監控主機
Management Service:執行各種監控、報警和報告功能的一組角色的服務。
Database:儲存配置和監控資訊
Cloudera Repository:可供Cloudera Manager分配的軟體的儲存庫
Client:用於與伺服器進行互動的介面
Admin Console:管理員控制檯
API:開發人員使用 API可以建立自定義的Cloudera Manager應用程式
ClouderaManager功能
訊號檢測
預設情況下,Agent 每隔 15 秒向 Cloudera Manager Server 傳送一次檢測訊號。但是,為了減少使用者延遲,在狀態變化時會提高頻率。
狀態管理
模型狀態捕獲什麼程序應在何處執行以及具有什麼配置 。
執行時狀態是哪些程序正在何處執行以及正在執行哪些命令(例如:重新平衡 HDFS 或執行備份/災難恢復計劃或叢集升級、停止) 。
當您更新配置(例如Hue Server Web 埠)時,您即更新了模型狀態。但是,如果 Hue 在更新時正在執行,則它仍將使用舊埠。當出現這種不匹配情況時,角色會標記為具有“過時的配置”。要重新同步,您需重啟角色(這會觸發重新生成配置和重啟程序)。
特殊情況如果要加入一些cloudera manager控制檯沒有的屬性時候,都在高階配置選項裡面嵌入。
伺服器和客戶端配置
例如使用HDFS,/opt/cloudera/parcels/CDH/lib/hadoop/etc/hadoop目錄下僅包含與 HDFS 客戶端相關的配置。
而 HDFS 角色例項(例如:NameNode 和 DataNode)會從 /var/run/cloudera-scm-agent/process/812-hdfs-NAMENODE、820-hdfs-DATANODE 下的每個程序專用目錄獲取它們的配置,真正產生作用的是這個。
主機管理
Cloudera Manager 作為群集中的託管主機身份:JDK、Cloudera Manager Agent、CDH、Impala、Solr 等參與所需的所有軟體部署到主機 。
Cloudera Manager 提供用於管理參與主機生命週期的操作以及新增和刪除主機的操作。
Cloudera Management Service Host Monitor 角色執行執行狀況檢查並收集主機度量,以使您可以監控主機的執行狀況和效能。
程序管理
在 Cloudera Manager 管理的群集中,只能通過 Cloudera Manager 啟動或停止服務。Cloudera Manager 使用一種名為 supervisord 的開源程序管理工具,它會重定向日誌檔案,通知程序失敗,為合適使用者設定呼叫程序的有效使用者 ID 等等。Cloudera Manager 支援自動重啟崩潰程序。如果一個角色例項在啟動後反覆失敗,Cloudera Manager 還會用不良狀態標記該例項。
特別需要注意的是,停止 Cloudera Manager 和 Cloudera Manager Agent 不會停止群集;所有正在執行的例項都將保持執行。
Agent 的一項主要職責是啟動和停止程序。當 Agent 從檢測訊號檢測到新程序時,Agent 會在 /var/run/cloudera-scm-agent 中為它建立一個目錄,並解壓縮配置 。
Agent 受到監控,屬於 Cloudera Manager 的主機監控的一部分:如果 Agent 停止檢測訊號,主機將被標記為執行狀況不良。
安全
身份驗證
Hadoop中身份驗證的目的僅僅是證明使用者或服務確實是他或她所聲稱的使用者或服務 。
通常,企業中的身份驗證通過單個分散式系統(例如:輕型目錄訪問協議 (LDAP) 目錄)進行管理,LDAP 身份驗證包含由各種儲存系統提供支援的簡單使用者名稱/密碼服務,ranger+ldap+freeipa。
Hadoop 生態系統的許多元件會彙總到一起來使用 Kerberos 身份驗證並提供用於在 LDAP 或 AD 中管理和儲存憑據的選項。
授權
CDH 當前提供以下形式的訪問控制:
適用於目錄和檔案的傳統 POSIX 樣式的許可權 。
適用於 HDFS 的擴充套件的訪問控制列表 (ACL) 。
Apache HBase使用ACL來按列、列族和列族限定符授權各種操作 (READ, WRITE, CREATE, ADMIN)。
使用 Apache Sentry 基於角色進行訪問控制。
Cloudera Management Service
功能:可作為一組角色實施各種管理功能
Activity Monitor:收集關於MapReduce服務執行的活動的資訊。預設情況下不新增此角色。
Host Monitor:收集有關主機的執行狀況和指標資訊。
Service Monitor:從YARN和Impala服務中收集關於服務和活動資訊的健康和度量資訊。
Event Server:聚合元件的事件並將其用於警報和搜尋。
Alert Publisher :為特定型別的事件生成和提供警報。
Reports Manager:生成圖表報告,按使用者,使用者組和目錄提供磁碟利用率的歷史檢視,按使用者和YARN池處理活動,以及HBase表和名稱空間。Cloudera Express中未新增此角色。