1. 程式人生 > >Cloudera CDH 離線安裝與使用

Cloudera CDH 離線安裝與使用

CDH cloudera 安裝 離線安裝

CDH 在線安裝方法如下,方便,但是由於在國內,訪問這個網站的速度很慢,並不快捷。

在線安裝Cloudera Manager服務器

# 配置cloudera-cdh源和cloudera-manager

# cloudera-manager

wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/cloudera-manager.repo

# cloudera-cdh

wget https://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/cloudera-cdh5.repo

# 安裝jdkcloudera-manager

sudo yum install cloudera-manager-daemons cloudera-manager-server -y

然後就可以訪問IP:7180通過網頁進行操作了。然而實際情況是,在線安裝,很慢很慢……

我們使用離線安裝的方式進行

一、基礎環境準備

1. 相關包的下載地址:

Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/

下載對應的文件,我下載的是:cloudera-manager-el6-cm5.13.3_x86_64.tar.gz

技術分享圖片技術分享圖片


2. CDH安裝包地址:http://archive.cloudera.com/cdh5/parcels

由於我們的操作系統為CentOS6.5,需要下載以下文件,找到對應的版本:

CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel

CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel.sha1

manifest.json

技術分享圖片技術分享圖片

3. 準備JDBC,等下連接mysql會用到:

http://download.softagency.net/MySQL/Downloads/Connector-J/

4. 全部需要的軟件下載完,算上mysql jar一共是5個文件

cloudera-manager-el6-cm5.13.3_x86_64.tar.gz
CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel 
CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel.sha1 
manifest.jso
mysql-connector-java-5.1.35-bin.jar

5. 準備JDK

tar -zxvf jdk1.7.0_79.tar.gz -C /usr/local/jvm
cat /etc/profile
export JAVA_HOME=/usr/local/jvm/jdk1.7.0_79 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

6. 安裝設置NTP

6.1 yum install ntp

cat /etc/ntp.conf
driftfile /var/lib/ntp/drift   
restrict default kod nomodify notrap nopeer noquery 
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1 
restrict -6 ::1  
restrict 192.168.206.0 mask 255.255.255.0 nomodify notrap 
 server 0.centos.pool.ntp.org iburst 
 server 1.centos.pool.ntp.org iburst 
 server 2.centos.pool.ntp.org iburst 
 server 3.centos.pool.ntp.org iburst

6.2啟動 ntp

$ service ntpd start

6.3 設置開機啟動:

$ chkconfig ntpd on

6.4 檢查是否設置成功:chkconfig --list ntpd其中2-5on狀態就代表成功。


6.5可以通過以下命令先進行時間同步:

ntpdate us.pool.ntp.org

6.6在兩個slave節點上執行即可

ntpdate -u bigdata1

7. 關閉防火墻,selinux等。


二、環境準備完成,開始安裝CDH

CDH的安裝,建議用root完成,後面有很多需要CDH創建目錄。用戶等操作

  1. 解壓CM到每個節點/opt的路徑下

tar -zxvf cloudera-manager-el6-cm5.13.3_x86_64.tar.gz -C /opt

下載的mysql-connector-java.jar拷貝到每個節點

cp  mysql-connector-java-5.1.35-bin.jar /opt/cm-5.13.3/share/cmf/lib/
scp mysql-connector-java-5.1.35-bin.jar root@bigdata2:/opt/cm-5.13.3/share/cmf/lib/
scp mysql-connector-java-5.1.35-bin.jar root@bigdata3:/opt/cm-5.13.3/share/cmf/lib/

2. 安裝mysql,並準備相關用戶,註意用戶創建過程中,要給予with grant option權限,不然後面會報錯

2.1安裝MySQLyum源,下面是RHEL6系列mysql5.6的下載地址:

 rpm -ivh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm

2.2 yum安裝

yum install mysql-community-server -y

2.3 創建用戶和賦權

grant all privileges on *.* to root@'localhost' identified by 'root' with grant option;
grant all privileges on *.* to root@'%' identified by 'root' with grant option;
grant all privileges on *.* to scm@'localhost' identified by 'scm'  with grant option;
grant all privileges on *.* to scm@'%' identified by 'scm'  with grant option;

3. 在主節點初始化CM5的數據庫:

/opt/cm-5.13.3/share/cmf/schema/scm_prepare_database.sh mysql cm -hbigdata1 -uroot -proot --scm-host bigdata1 scm scm scm

參數解釋:數據庫類型 數據庫名稱 數據庫主機名 數據庫用戶名 密碼 --scm-host cmserver主機名 scm scm scm

4. Agent配置

修改/opt/cm-5.13.3/etc/cloudera-scm-agent/config.ini中的server_host為主節點的主機名 不然agent無法找到server端。


4.1同步軟件到全部的Agent節點:

scp -r /opt/cm-5.13.3 root@node2:/opt/

5. 在所有節點創建cloudera-scm用戶

useradd --system --home=/opt/cm-5.13.3/run/cloudera-scm-server/ --no-create-home --shell=/bin/false  --comment "Cloudera SCM User" cloudera-scm

6. 準備Parcels,用以安裝CDH5

CHD5相關的Parcel包放到主節點的/opt/cloudera/parcel-repo/目錄中(parcel-repo需要手動創建)。

相關的文件如下:

CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel

CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel.sha1

manifest.jso

最後將CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel.sha1,重命名為CDH-5.7.1- CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel.sha,這點必須註意,否則,系統會重新下載CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel.sha1文件。

7. 相關啟動腳本

通過/opt/cm-5.13.3/etc/init.d/cloudera-scm-server start啟動服務端。

通過/opt/cm-5.13.3/etc/init.d/cloudera-scm-agent start啟動Agent服務。

(所有節點都要啟動Agent服務,包括服務端)

我們啟動的其實是個service腳本,需要停止服務將以上的start參數改為stop就可以了,重啟是restart

安裝到此處,可以考慮備份vmware虛擬機,後面CM的部署過程中,遇到錯誤,可以會滾到當前狀態調整。

三、CDH5的安裝配和集群配置

1. Cloudera Manager ServerAgent都啟動以後,就可以進行CDH5的安裝配置了。

2. 這時可以通過瀏覽器訪問主節點的7180端口測試一下了(由於CM Server的啟動需要花點時間,這裏可能要等待一會才能訪問頁面,可能需要3-5分鐘),默認的用戶名和密碼均為admin

技術分享圖片

技術分享圖片

3. 登陸後,會進入到歡迎/授權頁面

技術分享圖片技術分享圖片

4. 選擇授權版本,這裏選擇“免費版本”

技術分享圖片技術分享圖片

5. 如果前面的的配置都是正確的,並且agent都啟動成功,這裏“當前管理的主機”中,是可以看到全部節點的。註意:防火墻一定要關閉,不然會出現,agent節點,不能被發現的情況。

技術分享圖片技術分享圖片

6. 前面已經將軟件包放到目錄/opt/cloudera/parcel-repo,這裏就可以直接看到本地的包。

CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel

CDH-5.13.3-1.cdh5.13.3.p0.2-el6.parcel.sha

manifest.json

技術分享圖片

7. 點擊“繼續”,到集群安裝,這個會比較快,大概10分鐘完成。如果是在線安裝,這個要幾個小時,甚至下載失敗。

技術分享圖片技術分享圖片

8. 根據提示,修復一些前面沒有配置好的項目,然後重新檢查。建議解決全部報錯,防止後續使用有詭異的問題發生。

技術分享圖片

9. 這裏,我遇到的兩個問題:

9.1.JDK無法被識別,運行之前保證JDK路徑能被識別。

9.2.需要已經安裝perl軟件包

yum install -y perl

10. 選擇需要安裝的組合,也可以選擇自定義,後續單獨安裝每個組件

技術分享圖片技術分享圖片

11. 選擇每個角色,需要部署在哪一個機器上

技術分享圖片技術分享圖片

12. 選擇需要使用到mysql的組件,在mysql中創建的db、用戶名、密碼等

技術分享圖片技術分享圖片

13. 安裝完成之後。

技術分享圖片技術分享圖片

14. 安裝完成後,就可以進入集群界面看一下集群的當前狀況了。

這裏可能會出現無法發出查詢:對 Service Monitor 的請求超時的錯誤提示,如果各個組件安裝沒有問題,一般是因為服務器比較卡導致的,過一會刷新一下頁面就好了,根據實際情況調整配置即可:

技術分享圖片技術分享圖片

15. 另外如果想添加新的主機,必須要先啟動新主機上的agent服務,否則新主機不能被發現,要重新下載cm-agent,很麻煩。安裝新的節點以後,記得運行"部署客戶端"命令。


四、問題匯總

問題1

CDH環境搭建好之後,訪問Oozie管理頁面時,出現如下問題:

技術分享圖片技術分享圖片

解決方法:

根據提示,我們可以發現缺少Ext JS library,我們可以點擊給出的網址鏈接:

Oozie Quick Start

找到如下內容:

技術分享圖片技術分享圖片

然後找到ExtJS2.2下載,下載完成後上傳到CDH的服務器的目錄/opt/cloudera/parcels/CDH/lib/oozie/libext/下面。

具體操作如下:

cd /opt/cloudera/parcels/CDH/lib/oozie/libext

unzip ext-2.2.zip

chown oozie:oozie -R ext-2.2


現在這個官網,已經不提供下載ext-2.2.zip,如果下載,請點擊鏈接:



然後我們再次訪問頁面就可以了。

技術分享圖片

技術分享圖片

技術分享圖片


Cloudera CDH 離線安裝與使用