CM5.8.0 on CentOS6.5 離線安裝及卸載全過程詳解

 

 

關於CDH和ClouderaManager

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

Cloudera Manager(本文以下簡稱爲CM)則是爲了便於在集羣中進行Hadoop等大數據處理相關的服務安裝和監控管理的組件,對集羣中主機、Hadoop、Hive、Spark等服務的安裝配置管理做了極大簡化。

環境準備

服務器環境:Linux物理機

服務器配置:內存:128G,CPU:40Core

操作系統:CentOS 6.5 x64 

Cloudera Manager:5.8.0

CDH: 5.8.0

前期環境準備操作:

打通SSH

配置Hosts

關閉SELINUX

關閉防火牆

NTP(可選)

jdk安裝

MySql安裝

IP對應的主機名

10.10.161.101 master

10.10.161.102 slave1

10.10.161.103 slave2

對應的CM角色

CM的主節點:master

CM的子節點:master,slave1,slave2

下載安裝包

CM的安裝包

下載地址:

http://archive.cloudera.com/cm5/cm/5/

對應的文件是:

cloudera-manager-el6-cm5.8.0_x86_64.tar.gz

本地源的安裝包

由於是離線安裝,需要配置本地源,需要下載相關的包,下載地址是:

http://archive-primary.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

jdk的rpm包

地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

jdk-8u102-linux-x64.rpm

mysql connector包

由於我的CM以及其他CDH組件存儲元數據等信息使用的是mysql,所以此處需要準備jdbc連接mysql相關的包,如果使用其他的數據庫,請準備相對應的包

mysql-connector-java-5.1.39.jar

由於此次安裝mysql我使用的是yum的方式,所以此處未單獨下載相關的軟件包,另外,建議使用yum或者rpm的方式安裝mysql以及jdk,這樣jdk以及mysql會安裝到默認位置上,由於CM自身機制的問題,如果這兩個軟件未安裝到默認的位置上會導致許多額外的配置以及很多不期而遇的問題

關閉SELINUX以及防火牆

防火牆會引起hadoop相關組件通訊的各種異常,需關閉防火牆。用root用戶權限登錄進行操作:
 
1 關閉防火牆:
 
service iptables stop
驗證:service iptables status


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


 
 
2 關閉selinux:
查看SELinux狀態:
1、/usr/sbin/sestatus -v      ##如果SELinux status參數爲enabled即爲開啓狀態
SELinux status:                 enabled
2、getenforce                ##也可以用這個命令檢查
關閉SELinux:
1、臨時關閉(不用重啓機器):
setenforce 0                  ##設置SELinux 成爲permissive模式
                             ##setenforce 1 設置SELinux 成爲enforcing模式
2、修改配置文件需要重啓機器:
修改/etc/selinux/config 文件
將SELINUX=enforcing改爲SELINUX=disabled
重啓機器即可

修改/etc/hosts

vi /etc/hosts

保存退出

SSH無密碼登陸

1:ssh-keygen -trsa

連續3個回車,不必輸入,生成密鑰


2:ssh-copy-id -i /root/.ssh/id_rsa.pub root@master


把本機的公鑰追到master的.ssh/authorized_keys 裏

 

3:在每臺機器上都對其他機器重複執行第2步,直到所有機器都能相互免密碼登陸

 

安裝NTP服務器

由於非必須此處我未安裝,感興趣或者需要的同學就去問下度娘吧

 

rpm安裝jdk

rpm -ivh jdk-8u102-linux-x64.rpm
 

配java環境變量

java -version來檢測jdk是否安裝成功

yum安裝mysql

建議將mysql安裝到CM的主服務器上

安裝之前檢查下機器是否已經安裝mysql:

rpm -qa|grep mysql

效果如下:

包含圖上所示4個包就正確了,Mysql包不能多裝,否則會在安裝oozie hive等會出現鏈接拒絕問題

如果多了使用下面的命令卸載:

rpm -e xxxxxxxx

如果少了使用下面的命令安裝,少那個就安裝哪個:

yum install -y mysql-devel

yum install -y mysql-server

yum install -y mysql-libs

yum install -y mysql

創建mysql數據庫

1) . --hive 數據庫

create database hive DEFAULT CHARSET utf8 COLLATEutf8_general_ci;

2) . --集羣監控數據庫

create database amon DEFAULT CHARSET utf8 COLLATEutf8_general_ci;

3) . --hue 數據庫

create database hue DEFAULT CHARSET utf8 COLLATEutf8_general_ci;

4) . --oozie 數據庫

create database oozie DEFAULT CHARSET utf8 COLLATEutf8_general_ci;

爲新創建的庫賦權限

如果對mysql數據庫權限要求比較高的話可以手動單獨處理

如果要求不是很高,直接使用以下命令即可:

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

語句中的“XXXX”是root用戶的登錄密碼

 

安裝CM

將cloudera-manager-el6-cm5.8.0_x86_64.tar.gz上傳到CM的主節點的/opt/目錄下並解壓縮,解壓後會生成cloudera以及cm-5.8.0兩個文件夾。

由於cloudera自身機制的問題,如果解壓後的位置不在/opt/下會導致許多額外的配置以及很多不期而遇的問題

爲每個節點都要創建用戶

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

在 CM的主節點上修改sudoers文件

vim /etc/sudoers

在root ALL=(ALL)  ALL後面增加

cloudera-scm ALL=(ALL) NOPASSWD: ALL

此處的配置是爲了部分避免後面頁面配置過程中發生配置無法下發到agent端的問題而進行的配置

在CM的主節點上部署mysql connector包

將mysql-connector-java-5.1.39-bin.jar放到/opt/cm-5.8.0/share/cmf/lib/下

修改agent配置文件

vim /opt/cm-5.8.0/etc/cloudera-scm-agent/config.ini

將server_host配置項由localhost改成master(CM的主節點)

保存退出

將cm-5.8.0 scp到其讓機器opt文件夾下

scp –r cm-5.8.0 slave1:/opt/

scp –r cm-5.8.0 slave2:/opt/

初始化CM數據庫

/opt/cm-5.8.0/share/cmf/schema/scm_prepare_database.shmysql cm -hlocalhost -uroot -proot --scm-host localhost scm scm scm

CM的主節點配置本地源

將已下載完畢的 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

並將他們放到 /opt/cloudera/parcel-repo下,並把CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha1重命名爲CDH-5.8.0-1.cdh5.8.0.p0.42-el6.parcel.sha

CM主節點啓動server

/opt/cm-5.8.0/etc/init.d/cloudera-scm-server start

查看日誌

tail -f/opt/cm-5.8.0/log/cloudera-scm-server/cloudera-scm-server.log

CM子節點創建agent所需的文件夾

mkdir -p /opt/cm-5.8.0/run

CM子節點啓動agent

/opt/cm-5.8.0/etc/init.d/cloudera-scm-agent start

頁面配置

登錄地址:10.10.161.101(CM主節點):7180

默認用戶名密碼:admin/admin

 

 

 

登錄界面

 

 

 

簽了免責條款,繼續

 

 

 

免費版本即可以滿足基本需求,如果有特別需求或者土豪可以選擇其他,點擊繼續

 

 

 

CM可以管理的CDH組件的列表,點擊繼續

主機配置

 

如果agent進程正常啓動,此處就可以發現當前已經管理的主機,全選後,點擊繼續

 

 

 

此處選擇使用Parcel,由於我們已經構建了本地源,所以有CDH-5.8.0-1.cdh5.8.0.p0.42這個選項,如果此處未出現這個選項,說明你本地源搭建有問題,其他Parcel暫時可以不選,後續可以再處理,選中後點擊繼續

 

 

 

點擊繼續後出現此界面,顯示已下載100%說明本地源構建成功,不需要再額外下載了

 

 

 

此處CM會自動將本地源的相關信息在各個agent上分配,解壓以及激活,此處需要等待一些時間,時間根據服務器性能而異,我的物理機大約需要幾分鐘,虛擬機的話大約需要十幾或者幾十分鐘,耐心等待,全部完畢後,點擊繼續

 

 

 

 

CM自動爲各個服務器進行體檢

 

 

 

體檢結果出來了,中間這兩個警告可以忽略,CM會自動幫我們擺平的,如果有其他的問題,根據問題提示給予解決,點擊完成

 

集羣配置

 

各種不同的Hadoop搭配,魚丸和粗麪都有,根據個人需求自己選擇,也支持自定義,本人選擇了核心hadoop,點擊繼續

 

 

 

此處爲各個CDH組件分配服務器,根據需求分配即可,我的經驗是絕大部分可以默認,zookeeper以及hdfs的secondarynamenode需要改一下即可,點擊繼續

 

 

 

測試CDH組件與元數據存放的RDBMS的連通性

 

 

 

填完相關的信息後,點擊測試鏈接,測試通過後,點擊繼續

 

此處是安裝的CDH組件的配置信息,如果沒有特定的配置或者特殊的要求,可以先都用默認值,後續再界面中可以修改,配置完畢後,點擊繼續

 

 

 

集羣各個組件初始化,耐心等待,初始化完畢後,點擊完成即大功告成

CM卸載

由於CM沒有提供官方的卸載工具,加上CM的結構複雜,文件存放分散,所以CM的卸載是件風險很高的事情,很有可能卸載不乾淨而導致二次安裝出現各種奇怪的問題,所以不推薦進行卸載。

此處的卸載方法僅供參考。下面所有的操作除了停止agent以及server進程外其餘在所有的服務器上全部執行

關閉集羣中的所有服務

 這個可以通過clouder manger 主頁關閉集羣

卸載

[root@master ~]#/usr/share/cmf/uninstall-cloudera-manager.sh

在某些版本中沒有這個腳本,可以忽略,繼續下面的操作

在所有的CM的agent上執行

/opt/cm-5.8.0/etc/init.d/cloudera-scm-agent stop

在CM的主節點上執行

/opt/cm-5.8.0/etc/init.d/cloudera-scm-server stop

 

一下都是所有要卸載的集羣均要執行清除工作:

[root@master ~]# rm -rf /usr/share/cmf /var/lib/cloudera*/var/cache/yum/x86_64/6/cloudera* /var/log/cloudera* /var/run/cloudera*  /etc/cloudera*

 

卸載安裝包

[root@slave1 ~]# rpm -qa | grep cloudera

[root@slave1 ~]# for f in `rpm -qa | grep cloudera `  ; do rpm -e ${f} ; done     (如果有保存,在執行一遍)

 

清除安裝文件

 rm -rf/var/lib/hadoop-* /var/lib/impala /var/lib/solr /var/lib/zookeeper /var/lib/hue/var/lib/oozie  /var/lib/pgsql  /var/lib/sqoop2  /data/dfs/ /data/impala/ /data/yarn/  /dfs//impala/ /yarn/  /var/run/hadoop-*//var/run/hdfs-*/ /usr/bin/hadoop* /usr/bin/zookeeper* /usr/bin/hbase*/usr/bin/hive* /usr/bin/hdfs /usr/bin/mapred /usr/bin/yarn /usr/bin/sqoop*/usr/bin/oozie /etc/hadoop* /etc/zookeeper* /etc/hive* /etc/hue /etc/impala/etc/sqoop* /etc/oozie /etc/hbase* /etc/hcatalog

 

//只刪除hadoop系列的,不要刪除其他軟件的,否則其他軟件的版本控制會被破壞

[root@master alternatives]# rm -rf ` find/var/lib/alternatives/* ! -name "mta" ! -name "print" !-name "zlibrary-ui"  -mtime -3`

[root@master alternatives]# rm -rf /etc/alternatives/*

 

殺死相關進程

for u in hdfs mapred cloudera-scm hbase hue zookeeperoozie hive impala flume; do sudo kill $(ps -u $u -o pid=); done

 

刪除cm相關的所有文件

rm –rf /opt/cloudera/

rm –rf /opt/cm-5.8.0/

如果中途提示某個文件或者文件夾被佔用,則使用umount命令進行處理,處理後繼續刪除

例如umount /opt/cm-5.8.0/run/cloudera-scm-agent/process/

 

到此卸載完畢

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章