CDH集群搭建步驟
CDH集群搭建步驟詳細文檔
一、關於CDH和Cloudera Manager
CDH (Cloudera‘s Distribution,including Apache Hadoop),是Hadoop眾多分支中的一種,由Cloudera維護,基於穩定版本的Apache Hadoop構建,並集成了很多補丁,可直接用於生產環境。
Cloudera Manager則是為了便於在集群中進行Hadoop等大數據處理相關的服務安裝和監控管理的組件,對集群中主機、Hadoop、Hive、Spark等服務的安裝配置管理做了極大簡化。
二、系統環境
CDH集群服務器規劃:192.168.2.41(CDH1),192.168.2.51(
操作系統:CentOS6.5 x64
Cloudera Manager:5.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、安裝Oracle的Java(所有節點)
CentOS,自帶OpenJdk,不過運行CDH5需要使用Oracle的Jdk,需要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-agent的pid目錄
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。
4、CDH5的安裝配置
Cloudera Manager Server和Agent都啟動以後,就可以進行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集群搭建步驟