學習CDH叢集環境的搭建(虛擬機器可演示)

路飛的影子發表於2020-04-05

說明:如果使用虛擬機器進行演示的話,建議電腦是16執行記憶體,安裝三個Linux系統,第一個系統記憶體建議大一些,不少於3G執行記憶體,其餘2G即可。

一、系統環境

作業系統:CentOS 7.4  x64(記憶體32G)

Cloudera Manager:  5.14.2

CDH:   5.14.2

二、安裝說明

採用離線安裝。

1.安裝包的下載地址

CM包下載地址: http://archive.cloudera.com/cm5/cm/5/cloudera‐manager‐centos7‐cm5.14.2_x86_64.tar.gz

CDH安裝包地址:

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

由於我們的作業系統是CentOS 7.4 需要下載下載檔案:

CDH-5.14.2-1.cdh5.14.2.p0.3-e17.parcel

CDH-5.14.2-1.cdh5.14.2.p0.3-e17.parcel.sha

manifest.json

三、準備工作:系統環境搭建

1.網路配置(所有節點)

1.1配置阿里雲yum源。

 1.11、開啟centos的yum資料夾

        

cd /etc/yum.repos.d/

 1.12、備份系統原來的repo檔案

 

mkdir bak    #建立一個備份資料夾
mv ./*.repo  ./bak    #把目前的配置檔案放入備份檔案內

如果wget命令不生效,說明還沒有安裝wget工具,需要安裝wget。

yum -y install wget

 1.13下載阿里雲的repo檔案

wget http://mirrors.aliyun.com/repo/Centos‐7.repo

  1.14執行yum源更新命令

yum clean all

yum makecache

yum update

1.2修改hostname

     在5個節點分別執行下列命令,更改使用者名稱:

hostnamectl set‐hostname n1

hostnamectl set‐hostname n2

hostnamectl set‐hostname n3

hostnamectl set‐hostname n4

hostnamectl set‐hostname n5

1.3 修改IP到host的對映

  vi /etc/hosts

# 在hosts檔案中新增叢集主機資訊

172.16.253.201  n1      nn1

172.16.253.202  n2      snn1    dn1

172.16.253.203  n3      dn2     datax1

172.16.253.204  n4      dn3

172.16.253.205  n5      dn4

2.設定ssh的無密碼登陸

2.1六臺機器分別執行生成公鑰,並全部傳送集中到n1

ssh‐keygen ‐t rsa        #六臺機器分別執行: 一路回車到完成

ssh‐copy‐id ‐i ~/.ssh/id_rsa.pub root@n0 #六臺機器分別執行:將公鑰拷貝到本機的authorized_keys上

2.2將n0集中的所有機器的公鑰傳送到其他5臺機器上

# 在master節點依次執行下列命令

scp ~/.ssh/authorized_keys root@n1:~/.ssh/

scp ~/.ssh/authorized_keys root@n2:~/.ssh/

scp ~/.ssh/authorized_keys root@n3:~/.ssh/

scp ~/.ssh/authorized_keys root@n4:~/.ssh/

scp ~/.ssh/authorized_keys root@n5:~/.ssh/

3.解除安裝自帶的 OpenJdk,安裝 oracle的jdk(所有節點)

3.1. 查詢 java 相關的包,使用

rpm ‐qa | grep java

3.2. 解除安裝java相關的包

rpm ‐e ‐‐nodeps  + 包名稱

3.3.安裝oracle的jdk

rpm ‐ivh  oracle‐j2sdk1.7‐1.7.0+update67‐1.x86_64.rpm

3.4.新增環境變數:

vi /etc/profile

#新增如下資訊:
JAVA_HOME=/usr/java/jdk1.7.0_67‐cloudera

JRE_HOME=/usr/local/java//usr/java/jdk1.7.0_67‐cloudera/jre

CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

export JAVA_HOME JRE_HOME CLASS_PATH PATH

3.5.重新載入環境變數

source /etc/profile

3.6.檢視是否安裝成功

java  ‐version

4 . 安裝配置 MySql(主節點)

4.1 下載mysql的repo源

wget http://repo.mysql.com/mysql‐community‐release‐el7‐5.noarch.rpm

4.2安裝mysql-community-release-el7-5.noarch.rpm包

sudo rpm ‐ivh mysql‐community‐release‐el7‐5.noarch.rpm

安裝這個包後,會獲得兩個mysql的yum repo源:

/etc/yum.repos.d/mysql‐community.repo,/etc/yum.repos.d/mysql‐community‐source.repo

4.3. 安裝mysql

sudo yum install mysql‐server

4.4.啟動mysql

systemctl start mysqld  # 啟動mysql

systemctl status mysqld       # 檢視MySQL的啟動狀態

4.5.設定MySQL開機啟動

systemctl enable mysqldshell

systemctl daemon‐reload

4.6. 重置密碼(裝完成後,沒有密碼,需要重置密碼)。

mysql ‐u root      #登陸mysql 

mysql > use mysql;  #選MySQL庫

mysql >set password for 'root'@'localhost'=password('xxxxx');     #重置密碼 

4.7.賦予遠端訪問許可權:

mysql > grant all privileges on . to root@'%' identified by 'xxxxx' with grant option;  

mysql > grant all privileges on . to 'root'@'localhost' identified by 'xxxxx'; 

mysql > grant all privileges on . to 'root'@'127.0.0.1' identified by 'xxxxx'; 

mysql > flush privileges;

4.8.建立需要用到的庫

#hive

mysql > create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

#activity monitor

mysql > create database amon DEFAULT CHARSET utf8 COLLATE  utf8_general_ci;

mysql > exit;

5 . 關閉防火牆和 SELinux

5.1 檢視防火牆狀態

firewall‐cmd ‐‐state 

5.2 停止firewall

systemctl stop firewalld.service 

5.3 禁止firewall開機啟動

systemctl disable firewalld.service 

5.4 關閉selinux ()

vi /etc/selinux/config 

將SELINUX=enforcing改為SELINUX=disabled     #更改後需要重啟才會生效. 

6.安裝時間同步服務

所有節點時間一致非常重要,要不然啟動Cloudera Manager服務後,後臺會報錯。安裝ntp後,阿里雲的伺服器 會自動使用阿里雲的ntp伺服器進行同步

6.1安裝ntp服務 所有節點執行:

yum install ntp ‐y

開機啟動

systemctl enable mysqld  

最後所有伺服器檢查一下時間是否一致即可。

四、 安裝 CM Server 和 Agent

1.點解壓安裝包到 /opt下,形成 cloudera 和 cm-5.14.2 兩個資料夾

tar ‐zxvf cloudera‐manager‐centos7‐cm5.14.2_x86_64.tar.gz  ‐C  /opt/ 

2.為cm5建立資料庫

cp mysql‐connector‐java‐5.1.44‐bin.jar   /opt/cm‐5.14.2/share/cmf/lib/    #新增驅動

/opt/cm‐5.14.2/share/cmf/schema/scm_prepare_database.sh mysql cm ‐hlocalhost ‐uroot ‐ pzjhjsj ‐‐scm‐host localhost   scm scm scm    #為cm5建立資料庫 

 3.agent配置

  vi /opt/cm‐5.14.2/etc/cloudera‐scm‐agent/config.in               #修改CM叢集配置檔案

  # Hostname of the CM server.

  server_host=n1                                #設定n1為主節點

4.同步 Agent 到其他節點

 #將解壓好的cm‐5.14.2包傳送給其他slave節點 

scp ‐r /opt/cm‐5.14.2  root@n2:/opt/

scp ‐r /opt/cm‐5.14.2  root@n3:/opt/

scp ‐r /opt/cm‐5.14.2  root@n4:/opt/

scp ‐r /opt/cm‐5.14.2  root@n5:/opt/

 5.所有節點建立cloudera-scm使用者

useradd ‐‐system ‐‐home=/opt/cm‐5.14.2/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/目錄中:

# 需要更改CDH‐5.14.2‐1.cdh5.14.2.p0.3‐el7.parcel.sha1 的名稱,否則安裝過程中會重新下在parcel包.  
 mv  CDH‐5.14.2‐1.cdh5.14.2.p0.3‐el7.parcel.sha1  CDH‐5.14.2‐1.cdh5.14.2.p0.3‐el7.parcel.sha 

# 把用到的三個檔案放到/opt/cloudera/parcel‐repo 中.
 mv CDH‐5.14.2‐1.cdh5.14.2.p0.3‐el7.parcel    /opt/cloudera/parcel‐repo

 mv CDH‐5.14.2‐1.cdh5.14.2.p0.3‐el7.parcel.sha    /opt/cloudera/parcel‐repo

 mv manifest.json  /opt/cloudera/parcel‐repo    /opt/cloudera/parcel‐repo

7.啟動server和agent

在主節點啟動server

/opt/cm‐5.14.2/etc/init.d/cloudera‐scm‐server start 

 在主節點和所有子節點agent

/opt/cm‐5.14.2/etc/init.d/cloudera‐scm‐agent start 

檢視server和agengt是否啟動成功

/opt/cm‐5.14.2/etc/init.d/cloudera‐scm‐server status  

/opt/cm‐5.14.2/etc/init.d/cloudera‐scm‐agent  status 

大概等待1分鐘後登陸172.16.253.201:7180 進行頁面安裝CDH.

五.登陸CM安裝CDH

1.登陸 ,初始使用者名稱和密碼都是admin

 

 2.同意使用條款

3.選擇安裝的版本

4.指定安裝的主機

5.選擇安裝的方式和安裝的parcel

6.等待安裝完成

7.檢查主機安裝正確性

8.檢視可安裝的服務的版本

9.選擇自定義服務

10.選擇需要的服務(HDFS,HIVE,YARN,OOZIE)

11.為主機分配角色(一般不需要更改,使用預設的即可.)

 

12.為服務自定義資料庫(需提前安裝資料庫,賦予遠端訪問許可權,建好資料庫,然後填寫資料庫資訊).

13.啟動叢集(如果啟動過程中報錯,處理錯誤即可)

14.啟動hive失敗,hive缺乏JDBC Driver

 

15.只需把mysql-connector-*.jar 新增到hive的lib資料夾中,然後重新啟動即可

cp mysql‐connector‐java‐5.1.44‐bin.jar /opt/cloudera/parcels/CDH‐5.14.2‐
1.cdh5.14.2.p0.3/lib/hive/lib 

16.叢集安裝成功

17.檢視叢集狀態

 

 

相關文章