Cloudera Manager 5和CDH5離線安裝

CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop衆多分支中的一種,由Cloudera維護,基於穩定版本的Apache Hadoop構建,並集成了不少補丁,可直接用於生產環境。
Cloudera Manager則是爲了便於在集羣中進行Hadoop等大數據處理相關的服務安裝和監控管理的組件,對集羣中主機、Hadoop、Hive、Spark等服務的安裝配置管理作了極大簡化。
相關包的下載地址:
Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/
CDH安裝包地址:http://archive.cloudera.com/cdh5/parcels/latest/
因爲咱們的操做系統爲CentOS6.5,須要下載如下文件:
CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel
CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1
manifest.json
JDBC:http://download.softagency.net/MySQL/Downloads/Connector-J/html

準備工做:系統環境搭建(阿里雲平臺)

如下操做均須要(root)管理員權限
1.網絡配置(全部節點)
修改主機名:vim /etc/sysconfig/networkjava

NETWORKING=yes
HOSTNAME=cdh1
NETWORKING_IPV6=no
PEERNTP=no

經過service network restart重啓網絡服務
修改ip與主機名的對應關係:vim /etc/hostsnode

192.168.1.101   cdh1
192.168.1.102   cdh2
192.168.1.103   cdh3

2.打通SSH,設置ssh無密碼登錄(全部節點)
執行ssh-keygen -t rsa,一路回車,生成無密碼的密鑰對。
將公鑰添加到認證文件中:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,並設置authorized_keys的訪問權限:chmod 600 ~/.ssh/authorized_keys
經過scp命令將各節點的認證文件拷貝到全部其餘節點使得各節點可以相互訪問。
3.安裝Oracle的Java(全部節點)
CentOS自帶OpenJdk,不過運行CDH5須要使用Oracle的JDK,須要Java 7的支持。
卸載自帶的OpenJdk,使用rpm -qa | grep java查詢java相關的包,使用rpm -e --nodeps 包名卸載之。
去Oracle的官網下載jdk的rpm安裝包,並使用rpm -ivh 包名安裝,最後配置環境變量。
4.安裝配置MySql(主節點)
經過yum install mysql-server安裝mysql服務器。chkconfig mysqld on設置開機啓動,並service mysqld start啓動mysql服務,並根據提示設置root的初試密碼:mysqladmin -u root password 'xxxx'
mysql -uroot -pxxxx進入mysql命令行,建立如下數據庫:mysql

#hive
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

設置root受權訪問以上全部的數據庫:linux

#受權root用戶在主節點擁有全部數據庫的訪問權限
grant all privileges on *.* to 'root'@'cdh1' identified by 'xxxx' with grant option;flush privileges;

5.關閉防火牆和SELinux
注意: 須要在全部的節點上執行,由於涉及到的端口太多了,臨時關閉防火牆是爲了安裝起來更方便,安裝完畢後能夠根據須要設置防火牆策略,保證集羣安全。
關閉防火牆:sql

service iptables stop (臨時關閉)  
chkconfig iptables off (重啓後生效)

關閉SELINUX(實際安裝過程當中發現沒有關閉也是能夠的,不知道會不會有問題,還需進一步進行驗證):shell

setenforce 0 (臨時生效)  
修改 /etc/selinux/config 下的 SELINUX=disabled (重啓後永久生效)

6.全部節點配置NTP服務
集羣中全部主機必須保持時間同步,若是時間相差較大會引發各類問題。 具體思路以下:
master節點做爲ntp服務器與外界對時中心同步時間,隨後對全部datanode節點提供時間同步服務。
全部datanode節點以master節點爲基礎同步時間。
全部節點安裝相關組件:yum install ntp。完成後,配置開機啓動:chkconfig ntpd on,檢查是否設置成功:chkconfig --list ntpd其中2-5爲on狀態就表明成功。
主節點配置
在配置以前,先使用ntpdate手動同步一下時間,省得本機與對時中心時間差距太大,使得ntpd不能正常同步。這裏選用65.55.56.206做爲對時中心,ntpdate -u 65.55.56.206
ntp服務只有一個配置文件,配置好了就OK。 這裏只給出有用的配置,不須要的配置都用#注掉,這裏就不在給出:數據庫

driftfile /var/lib/ntp/drift
restrict 127.0.0.1restrict -6 ::1
restrict default nomodify notrap 
server 65.55.56.206 prefer
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

配置文件完成,保存退出,啓動服務,執行以下命令:service ntpd start
檢查是否成功,用ntpstat命令查看同步狀態,出現如下狀態表明啓動成功:json

synchronised to NTP server () at stratum 2time correct to within 74 mspolling server every 128 s

若是出現異常請等待幾分鐘,通常等待5-10分鐘才能同步。
配置ntp客戶端(全部datanode節點)vim

driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
#這裏是主節點的主機名或者ip
server cdh1
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

ok保存退出,請求服務器前,請先使用ntpdate手動同步一下時間:ntpdate -u cdh1 (主節點ntp服務器)
這裏可能出現同步失敗的狀況,請不要着急,通常是本地的ntp服務器尚未正常啓動,通常須要等待5-10分鐘才能夠正常同步。啓動服務:service ntpd start
由於是鏈接內網,此次啓動等待的時間會比master節點快一些,可是也須要耐心等待一下子。

正式開工

安裝Cloudera Manager Server 和Agent
主節點解壓安裝
cloudera manager的目錄默認位置在/opt下,解壓:tar xzvf cloudera-manager*.tar.gz將解壓後的cm-5.3.3和cloudera目錄放到/opt目錄下。
爲Cloudera Manager 5創建數據庫
首先須要去MySql的官網下載JDBC驅動,http://dev.mysql.com/downloads/connector/j/,解壓後,找到mysql-connector-java-5.1.35-bin.jar,放到/opt/cm-5.3.3/share/cmf/lib/中。
在主節點初始化CM5的數據庫:

/opt/cm-5.3.3/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pxxxx --scm-host localhost scm scm scm

Agent配置
修改/opt/cm-5.3.3/etc/cloudera-scm-agent/config.ini中的server_host爲主節點的主機名。
同步Agent到其餘節點

scp -r /opt/cm-5.3.3 root@n2:/opt/

在全部節點建立cloudera-scm用戶

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

準備Parcels,用以安裝CDH5
將CHD5相關的Parcel包放到主節點的/opt/cloudera/parcel-repo/目錄中(parcel-repo須要手動建立)。
相關的文件以下:

CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel
CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1
manifest.json

最後將CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1,重命名爲CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha,這點必須注意,不然,系統會從新下載CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1文件。
相關啓動腳本
經過/opt/cm-5.3.3/etc/init.d/cloudera-scm-server start啓動服務端。
經過/opt/cm-5.3.3/etc/init.d/cloudera-scm-agent start啓動Agent服務。
咱們啓動的實際上是個service腳本,須要中止服務將以上的start參數改成stop就能夠了,重啓是restart。
CDH5的安裝配置
Cloudera Manager Server和Agent都啓動之後,就能夠進行CDH5的安裝配置了。
這時能夠經過瀏覽器訪問主節點的7180端口測試一下了(因爲CM Server的啓動須要花點時間,這裏可能要等待一會才能訪問),默認的用戶名和密碼均爲admin:

這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

各個Agent節點正常啓動後,能夠在當前管理的主機列表中看到對應的節點。選擇要安裝的節點,點繼續。

這裏寫圖片描述

接下來,出現如下包名,說明本地Parcel包配置無誤,直接點繼續就能夠了。

這裏寫圖片描述

點擊,繼續,若是配置本地Parcel包無誤,那麼下圖中的已下載,應該是瞬間就完成了,而後就是耐心等待分配過程就好了。

這裏寫圖片描述

接下來是服務器檢查,可能會遇到如下問題:
Cloudera 建議將 /proc/sys/vm/swappiness 設置爲 0。當前設置爲 60。使用 sysctl 命令在運行時更改該設置並編輯 /etc/sysctl.conf 以在重啓後保存該設置。您能夠繼續進行安裝,但可能會遇到問題,Cloudera Manager 報告您的主機因爲交換運行情況不佳。如下主機受到影響:
經過echo 0 > /proc/sys/vm/swappiness便可解決。

這裏寫圖片描述

接下來是選擇安裝服務:

這裏寫圖片描述

服務配置,通常狀況下保持默認就能夠了(Cloudera Manager會根據機器的配置自動進行配置,若是須要特殊調整,自行進行設置就能夠了):

這裏寫圖片描述

接下來是數據庫的設置,檢查經過後就能夠進行下一步的操做了:

這裏寫圖片描述

下面是集羣設置的審查頁面,所有保持默認配置便可:

這裏寫圖片描述

終於到安裝各個服務的地方了,注意,這裏安裝Hive的時候可能會報錯,由於咱們使用了MySql做爲hive的元數據存儲,hive默認沒有帶mysql的驅動,經過如下命令拷貝一個就好了:

cp /opt/cm-5.3.3/share/cmf/lib/mysql-connector-java-5.1.35-bin.jar /opt/cloudera/parcels/CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel/lib/hive/lib/

這裏寫圖片描述

接下靜靜地等待便可。

這裏寫圖片描述

安裝完成後,就能夠進入集羣界面看一下集羣的當前情況了。
這裏可能會出現沒法發出查詢:對 Service Monitor 的請求超時的錯誤提示,若是各個組件安裝沒有問題,通常是由於服務器比較卡致使的,過一會刷新一下頁面就行了:

這裏寫圖片描述

參考資料以下:
http://www.cnblogs.com/jasondan/p/4011153.html
http://www.wangyongkui.com/hadoop-cdh5/
http://snglw.blog.51cto.com/5832405/1600475

相關文章
相關標籤/搜索