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/v4/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。