1. 程式人生 > >CDH集群搭建步驟

CDH集群搭建步驟

hadoop cdh hbase hive

CDH集群搭建步驟詳細文檔

一、關於CDHCloudera Manager

CDH (Cloudera‘s Distribution,including Apache Hadoop),是Hadoop眾多分支中的一種,由Cloudera維護,基於穩定版本的Apache Hadoop構建,並集成了很多補丁,可直接用於生產環境。

Cloudera Manager則是為了便於在集群中進行Hadoop等大數據處理相關的服務安裝和監控管理的組件,對集群中主機、HadoopHiveSpark等服務的安裝配置管理做了極大簡化。

二、系統環境

CDH集群服務器規劃:192.168.2.41CDH1),192.168.2.51

CDH2),192.168.2.61CDH3

操作系統:CentOS6.5 x64

Cloudera Manager5.8.0

CDH: 5.8.0


三、安裝說明

采用parcel離線安裝方式,安裝方便,重裝什麽的都非常方便。後期的集群統一包升級也非常好。


四、相關包的下載地址

Cloudera Manager下載地址:

http://archive-primary.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.8.0_x86_64.tar.gz

CDH安裝包地址:

http://archive.cloudera.com/cdh5/parcels/5.8.0/

由於我們的操作系統為CentOS6.5,需要下載以下文件:

CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel

CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1

manifest.json

五、安裝準備工作:系統環境配置

以下操作均用root用戶操作。

1、網絡配置(所有節點)

vi /etc/sysconfig/network 修改hostname

技術分享

通過 service network restart 重啟網絡服務生效。

vi /etc/hosts ,修改ip與主機名的對應關系

技術分享

註意:這裏需要將每臺機器的ip及主機名對應關系都寫進去,本機的也要寫進去,否則啟動Agent的時候會提示hostname解析錯誤。

2、配置SSH免密碼登錄

在主節點上執行 ssh-keygen -t rsa 一路回車,生成無密碼的密鑰對。


然後執行以下命令復制公鑰文件到所有datenode節點:

[[email protected] ~]# ssh-copy-id cdh1
[[email protected] ~]# ssh-copy-id cdh2
[[email protected] ~]# ssh-copy-id cdh3

測試:在主節點上ssh cdh2,正常情況下,不需要密碼就能直接登陸進去了。

技術分享


3、安裝OracleJava(所有節點)

CentOS,自帶OpenJdk,不過運行CDH5需要使用OracleJdk,需要Java 7的支持。

卸載自帶的OpenJdk,使用 rpm -qa | grep java 查詢java相關的包,使用 rpm -e --nodeps 包名卸載之。

Oracle的官網下載jdk

http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz

解壓安裝包

[[email protected]~]# tar –zxf jdk-7u79-linux-x64.tar.gz–C /usr/local
[[email protected]~]# cd/usr/local
[[email protected]~]# ln –sv jdk1.7.0_79/jdk
[[email protected]~]# vi /etc/profile.d/jdk.sh 
exportJAVA_HOME=/usr/local/jdk
exportPATH=$PATH:JAVA_HOME/bin
[[email protected]~]# chmod 755 /etc/profile.d/jdk.sh
[[email protected]~]# . /etc/profile.d/jdk.sh


查看是否安裝成功

[[email protected]~]# java -version
javaversion "1.7.0_79"
Java(TM)SE Runtime Environment (build 1.7.0_79-b15)
JavaHotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
[[email protected]~]#



4、安裝配置MySQL(主節點)

通過 yum installmysql-server 安裝mysql服務器。 chkconfig mysqld on 設置開機啟動,並 service mysqld start 啟動mysql服務。

mysql -uroot-pxxxx 進入mysql命令行,創建以下數據庫:

createdatabase hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
createdatabase hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
createdatabase Reports DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
createdatabase Oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;


設置root授權訪問以上所有的數據庫:

#授權root用戶在主節點擁有所有數據庫的訪問權限

grantall privileges on *.* to [email protected] identified by ‘123456‘;
flushprivileges;


5、關閉防火墻和SELinux(所有節點)

註意: 需要在所有的節點上執行,因為涉及到的端口太多了,臨時關閉防火墻是為了安裝起來更方便,安裝完畢後可以根據需要設置防火墻策略,保證集群安全。

關閉防火墻:

serviceiptables stop (臨時關閉)  
chkconfigiptables off (重啟後生效)


關閉SELinux

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


6、同步時間

各集群節點服務器必須同步時間,如果時間相差太大,在安裝CDH是可能會出現各種異常報錯。

安裝ntp

yuminstall ntp ntpdate


ntp同步時間命令,這裏用1.cn.pool.ntp.org做時間同步服務器

ntpdate1.cn.pool.ntp.org

六、安裝及啟動

1安裝Cloudera Manager Server Agent

主節點解壓安裝

cloudera manager的目錄默認位置在/opt,將其解壓到opt目錄下

[[email protected]]# tar -zxvf cloudera-manager-el6-cm5.8.0_x86_64.tar.gz –C /opt

技術分享

將解壓出來的兩個目錄的所有者改成root

chown -Rroot.root /opt/cloudera/
chown -Rroot.root /opt/cm-5.8.0/


Cloudera Manager 5建立數據庫,首先需要去MySql的官網下載JDBC驅動。

地址:http://dev.mysql.com/downloads/connector/j/

解壓後,找到mysql-connector-java-5.1.41-bin.jar,放到/opt/cm-5.8.0/share/cmf/lib/中。

cp mysql-connector-java-5.1.41-bin.jar /opt/cm-5.8.0/share/cmf/lib/


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

/opt/cm-5.8.0/share/cmf/schema/scm_prepare_database.shmysql cm -h localhost -uroot -p123456 --scm-host localhost scm scm scm

技術分享

Agent配置:

修改/opt/cm-5.8.0/etc/cloudera-scm-agent/config.ini中的server_host為主節點的主機名。

server_host=cdh1


創建cloudera-scm-agentpid目錄

mkdir/opt/cm-5.8.0/run/cloudera-scm-agent


同步Agent到其他節點

scp -r/opt/cm-5.8.0/ cdh2:/opt/
scp -r/opt/cm-5.8.0/ cdh3:/opt/


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

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


2、準備Parcels,用以安裝CDH5

CHD5相關的Parcel包放到主節點的/opt/cloudera/parcel-repo/目錄中。

相關的文件如下:

CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel

CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1

manifest.json

最後將CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1文件後綴改成sha。否則,系統會重新下載CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel文件。

3、啟動服務

服務端:

/opt/cm-5.8.0/etc/init.d/cloudera-scm-serverstart

客戶端:(所有節點啟動)啟動Agent服務。

/opt/cm-5.8.0/etc/init.d/cloudera-scm-agentstart

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


4CDH5的安裝配置

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

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

技術分享

勾選接受條款,點擊繼續

技術分享

可以看到,免費版本的CM5已經沒有原來50個節點數量的限制了。

技術分享

點擊繼續

技術分享

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

技術分享

出現以下包名和對應CDH版本,說明本地Parcel包配置無誤,這裏選擇5.8.0,直接點繼續。

技術分享

如果配置本地Parcel包無誤,那麽下圖中的已下載,應該是瞬間就完成了,然後就是耐心等待分配過程就行了,大約10多分鐘,取決於內網網速。

技術分享

接下來是服務器檢查,可能會遇到以下問題:

Cloudera 建議將 /proc/sys/vm/swappiness 設置為 0。當前設置為 60。使用 sysctl 命令在運行時更改該設置並編輯 /etc/sysctl.conf 以在重啟後保存該設置。您可以繼續進行安裝,但可能會遇到問題,Cloudera Manager 報告您的主機由於交換運行狀況不佳。以下主機受到影響:

通過 echo 0> /proc/sys/vm/swappiness 即可解決。點擊完成。

技術分享

接下來,選擇安裝服務。

技術分享

進行集群設置角色分配,沒特殊要求的話,選默認即可,點繼續。

技術分享

數據庫設置

技術分享

點擊連接測試,當全部都顯示Successful,點擊繼續

技術分享

選擇默認,點擊繼續。

技術分享

開始安裝配置服務,等待完成。

技術分享

安裝完成,登陸控制臺

技術分享


CDH集群搭建步驟