/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/* : 用戶端配置檔案目錄。
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通過部署用戶端生成用戶端配置。
cloudera manager主要的資料庫為scm,存儲cloudera manager運作所需要的資訊:配置,主機,使用者等。
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架構。
在cm中可以通過界面向導更新相關服務。更新過程為三步:
下載下傳服務軟體包。
把所下載下傳的服務軟體包分發到叢集中受管的機器上。
安裝服務軟體包,使用軟連結的方式把服務程式目錄連結到新安裝的軟體包目錄上。
sudo /usr/share/cmf/uninstall-scm-express.sh, 然後删除/var/lib/cloudera-scm-server-db/目錄,不然下次安裝可能不成功。
cm内嵌資料庫被配置成隻能從localhost通路,如果需要從外部檢視資料,資料修改vim /var/lib/cloudera-scm-server-db/data/pg_hba.conf檔案,之後重新開機資料庫。運作資料庫的使用者為cloudera-scm。