共計 2126 個字符,預計需要花費 6 分鐘才能閱讀完成。
這篇文章給大家介紹 Cloudera Manager 內部結構及功能是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1. 相關目錄
/var/log/cloudera-scm-installer : 安裝日志目錄。
/var/log/* : 相關日志文件(相關服務的及 CM 的)。
/usr/share/cmf/ : 程序安裝目錄。
/usr/lib64/cmf/ : Agent 程序代碼。
/var/lib/cloudera-scm-server-db/data : 內嵌數據庫目錄。
/usr/bin/postgres : 內嵌數據庫程序。
/etc/cloudera-scm-agent/ : agent 的配置目錄。
/etc/cloudera-scm-server/ : server 的配置目錄。
/opt/cloudera/parcels/ : Hadoop 相關服務安裝目錄。
/opt/cloudera/parcel-repo/ : 下載的服務軟件包數據,數據格式為 parcels。
/opt/cloudera/parcel-cache/ : 下載的服務軟件包緩存數據。
/etc/hadoop/* : 客戶端配置文件目錄。
2. 配置
Hadoop 配置文件
配置文件放置于 /var/run/cloudera-scm-agent/process/ 目錄下。如:/var/run/cloudera-scm-agent/process/193-hdfs-NAMENODE/core-site.xml。這些配置文件是通過 Cloudera Manager 啟動相應服務(如 HDFS)時生成的,內容從數據庫中獲得(即通過界面配置的參數)。
在 CM 界面上更改配置是不會立即反映到配置文件中,這些信息會存儲于數據庫中,等下次重啟服務時才會生成配置文件。且每次啟動時都會產生新的配置文件。
CM Server 主要數據庫為 scm 基中放置配置的數據表為 configs。里面包含了服務的配置信息,每一次配置的更改會把當前頁面的所有配置內容添加到數據庫中,以此保存配置修改歷史。
scm 數據庫被配置成只能從 localhost 訪問,如果需要從外部連接此數據庫,修改 vim /var/lib/cloudera-scm-server-db/data/pg_hba.conf 文件, 之后重啟數據庫。運行數據庫的用戶為 cloudera-scm。
查看配置內容
直接查詢 scm 數據庫的 configs 數據表的內容。
訪問 REST API:http://hostname:7180/api/v5/cm/deployment,返回 JSON 格式部署配置信息。
配置生成方式
CM 為每個服務進程生成獨立的配置目錄(文件)。所有配置統一在服務端查詢數據庫生成(因為 scm 數據庫只能在 localhost 下訪問)生成配置文件,再由 agent 通過網絡下載包含配置文件的 zip 包到本地解壓到指定的目錄。
配置修改
CM 對于需要修改的配置預先定義,對于沒有預先定義的配置, 則通過在高級配置項中使用 xml 配置片段的方式進行配置。而對于 /etc/hadoop/ 下的配置文件是客戶端的配置,可以在 CM 通過部署客戶端生成客戶端配置。
3. 數據庫
Cloudera manager 主要的數據庫為 scm, 存儲 Cloudera manager 運行所需要的信息:配置,主機,用戶等。
4. CM 結構
CM 分為 Server 與 Agent 兩部分及數據庫(自帶更改過的嵌入 Postgresql)。它主要做三件事件:
管理監控集群主機。
統一管理配置。
管理維護 Hadoop 平臺系統。
實現采用 C / S 結構,Agent 為客戶端負責執行服務端發來的命令,執行方式一般為使用 python 調用相應的服務 shell 腳本。Server 端為 Java REST 服務,提供 REST API,Web 管理端通過 REST API 調用 Server 端功能,Web 界面使用富客戶端技術(Knockout)。
Server 端主體使用 Java 實現。
Agent 端主體使用 Python, 服務的啟動通過調用相應的 shell 腳本進行啟動,如果啟動失敗會重復 4 次調用啟動腳本。
Agent 與 Server 保持心跳,使用 Thrift RPC 框架。
5. 升級
在 CM 中可以通過界面向導升級相關服務。升級過程為三步:
下載服務軟件包。
把所下載的服務軟件包分發到集群中受管的機器上。
安裝服務軟件包,使用軟鏈接的方式把服務程序目錄鏈接到新安裝的軟件包目錄上。
6. 卸載
sudo /usr/share/cmf/uninstall-scm-express.sh, 然后刪除 /var/lib/cloudera-scm-server-db/ 目錄,不然下次安裝可能不成功。
7. 開啟 postgresql 遠程訪問
CM 內嵌數據庫被配置成只能從 localhost 訪問,如果需要從外部查看數據,數據修改 vim /var/lib/cloudera-scm-server-db/data/pg_hba.conf 文件, 之后重啟數據庫。運行數據庫的用戶為 cloudera-scm。
關于 Cloudera Manager 內部結構及功能是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。