聊聊個人對安裝部署CDH集羣前置準備的理解

1 文檔編寫目的

本文主要講述安裝部署CDH集羣的前置準備工作以及個人的一些理解。

安裝部署CDH集羣的前置準備通常包括以下步驟:

1. 安裝操作系統並配置IP地址

2. 更改主機名及hosts文件

3. 關閉防火牆

4. 關閉SELinux

5. 配置操作系統的Repo源

6. 配置時鐘同步

7. 安裝數據庫並初始化

8. 安裝Mysql的JDBC驅動

9. 創建並配置Cloudera Manager的Repo源

10.安裝Oracle JDK

11.安裝並初始化Cloudera Manager

下面將分別闡述個人對於以上步驟的一些理解。

文章目錄結構:

1. 文檔編寫目的

2. 安裝操作系統並配置IP地址

3. 更改主機名及hosts文件

4. 關閉防火牆

5. 關閉SELinux

6. 配置操作系統的Repo源

7. 配置時鐘同步

8. 安裝數據庫並初始化

9. 安裝Mysql的JDBC驅動

10.創建並配置Cloudera Manager的Repo源

11.安裝Oracle JDK

12.安裝並初始化Cloudera Manager

13.總結

2 安裝操作系統並配置IP地址

這一步可以參考我之前寫的文章《如何在HP dl380 Gen9服務器上安裝Redhat 7.2並配置軟RAID》、《如何爲Hadoop集羣服務器綁定雙萬兆網卡》

需要確保集羣服務器之間網絡互通,Hadoop不支持IP v6,所以需要關閉IP v6相關服務。如果做了bond,IP地址對應的是bond0綁定的地址。

3 更改hostname及hosts文件

需要確保hostname唯一,同一個CDH集羣內不能存在兩個hostname相同的節點,否則會出現異常;另外,hostname不能包含特殊字符,比如“_”,否則安裝Cloudera Manager Server時會報找不到主機的異常;如果hostname包含字母,建議全部使用小寫字母。

操作系統默認是通過/etc/hosts文件進行IP地址的解析,主要是定義主機名和IP地址的映射關係,如果沒配置DNS,集羣所有節點都要有至少包含本集羣所有節點的hosts文件。

4 關閉防火牆

需要確保集羣內所有節點能夠互相訪問,通常情況下,會永久關閉防火牆。如果企業在安全方面要求較爲嚴格的話,比如銀行、運營商,可能需要啓用主機防火牆,配置相應的防火牆策略,只開放某些機器對某些必要端口的訪問權限,比如ssh服務的22端口,agent的7190端口。

5 關閉SELinux

SELinux 主要作用就是最大限度地減小系統中服務進程可訪問的資源(最小權限原則)

SELinux 有三種工作模式,分別是:

1. enforcing:強制模式。違反 SELinux 規則的行爲將被阻止並記錄到日誌中。

2. permissive:寬容模式。違反 SELinux 規則的行爲只會記錄到日誌中。一般爲調試用。

3. disabled:關閉 SELinux。

SELinux 工作模式可以在/etc/selinux/config 中設定。

如果想從 disabled 切換到 enforcing 或者 permissive 的話,需要重啓系統。反過來也一樣。

enforcing 和 permissive 模式可以通過 setenforce 1|0 命令快速切換,該命令是臨時生效,所以如果要永久關閉SELinux,需要同時更改/etc/selinux/config文件內容並執行“setenforce 0”命令。

更多關於SELinux的知識,可參考:

https://baijiahao.baidu.com/s?id=1590170088632157084&wfr=spider&for=pc

6 配置操作系統的Repo源

1、在線安裝,集羣所有機器能夠訪問外網,確認Repo源正常後,可跳過這一步驟。

2、離線安裝,需要在CM節點掛載操作系統版本相同的鏡像,部署Web Server配置http形式的Repo源並拷貝到集羣所有節點,確保集羣其他節點能夠正常訪問,當然,不一定非要在CM節點,只要在集羣能夠訪問的任一節點部署都行。

這一步驟主要是爲安裝後續的rpm包做準備,包括ntp的包,安裝ClouderaManager相關的rpm包以及其底層依賴的rpm包。

7 配置時鐘同步

部署分佈式的Hadoop集羣,都必須要做時鐘同步,統一集羣時間。CDH目前支持ntp和chrony兩種時鐘同步服務,任選一種進行時鐘同步配置即可。如果未配置時鐘同步,CM界面會有告警提示,並且可能會導致某些依賴時鐘同步的組件異常退出或者無法啓動,比如Zookeeper和Kudu,甚至會影響CDH集成的某些服務,比如Kerberos,Kerberos的認證機制包含時間戳,也依賴集羣時鐘同步,有興趣可自行了解。

8 安裝數據庫並初始化

CDH目前支持四種數據庫,分別是PostgreSQL、Mysql、Mariadb以及Oracle,其中PostgreSQL不建議用於生產集羣,安裝數據庫後,一般要做初始化操作,主要是設置root密碼,允許用戶遠程登錄之類的,然後需要進入數據庫,創建CM和CDH組件相關的數據庫及用戶,並授予相關用戶權,用於存儲相關組件的數據,比如Oozie、Hive的MetaStore,Navigator的Nas,Nav等等。

我安裝比較多的是Mysql和Mariadb,後面以介紹這兩類數據庫爲主。我會專門寫一篇相關的文章,請持續關注。

9 安裝Mysql的JDBC驅動

安裝JDBC驅動的目的是依賴數據庫的保證相關組件能夠和Mysql/Mariadb數據庫建立正常的通信,不過CDH並不支持Mariadb的JDBC驅動,所以,不管安裝Mysql或是Mariadb數據庫,都是安裝的Mysql的JDBC驅動,默認安裝路徑是/usr/share/java。

10 創建並配置Cloudera Manager的Repo源

1、在線安裝,此步驟可跳過,只要配置好CM的Repo源即可。

2、離線安裝,在Cloudera官網下載CM的rpm包,下載地址:http://archive.cloudera.com/cm5/

下載完成後上傳到CM節點,使用yum執行如下命令:“yum-y install createrepo”,等待安裝完成,然後進入放置CM的rpm包的目錄下,執行“createrepo .”,創建本地Repo源,然後配置CM的Repo源並拷貝到集羣所有節點。

11 安裝Oracle JDK

在CM節點上安裝Oracle JDK,下載的CM的rpm包裏面已經包含了OracleJDK,所以配置好CM的Repo源可以直接用yum安裝,需要注意的是,CDH並不支持openjdk,所以,如果操作系統默認使用openjdk的話,建議將openjdk卸載或者調整jdk的優先級,讓操作系統默認使用Oracle JDK。

12 安裝並初始化Cloudera Manager

安裝Cloudera Manager的rpm包,對應包名爲“cloudera-manager-server”,安裝完成後需要運行腳本進行初始化操作:

/usr/share/cmf/schema/scm_prepare_database.sh mysql cm cm password -h bigdata32

紅色字體部分需要依據實際情況修改,“mysql”對應的是數據庫類型,Mariadb和Mysql都是使用mysql,第一個“cm”是CM的數據庫名,第二個“cm”是CM數據庫對應的用戶名,“password”是CM數據庫的密碼,“-h”參數選填,如果數據庫部署在CM節點以外的機器上,需要通過-h參數指定數據庫所在服務器。

13 總結

以上就是安裝部署CDH集羣前置準備的內容,時間原因,寫得比較粗糙,後續會對相關內容進一步細化,請持續關注!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章