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
# 安裝jdk和cloudera-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-5為on狀態就代表成功。
6.5可以通過以下命令先進行時間同步:
ntpdate us.pool.ntp.org
6.6在兩個slave節點上執行即可
ntpdate -u bigdata1
7. 關閉防火墻,selinux等。
二、環境準備完成,開始安裝CDH
CDH的安裝,建議用root完成,後面有很多需要CDH創建目錄。用戶等操作。
解壓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安裝MySQL的yum源,下面是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 Server和Agent都啟動以後,就可以進行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 離線安裝與使用