CDH5.16.1集群的搭建


一.准備⼯工作

1.離線部署主要分為三塊:

a.MySQL離線部署

b.CM離線部署

c.Parcel⽂文件離線源部署

2.規划

 

 3.下載源:

CM:

Parcel

  1. CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel
  2. CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha1
  3. manifest.json

JDK

  • https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html
  • 下載jdk-8u202-linux-x64.tar.gz

 

  • 准備好百度雲,下載安裝包:
  • 鏈接:https://pan.baidu.com/s/10s-NaFLfztKuWImZTiBMjA 密碼:viqp

 

在mysql的部署之前考慮到airflow支持不超過5.6的版本,所以就選擇了5.6版本,你們具體用啥可以自行決定

下載:

  • mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz
  • MySQL jdbc jar mysql-connector-java-5.1.47.jar  

 具體可參考博客:https://www.cnblogs.com/xuziyu/p/10353968.html

二.集群節點初始化

1.當前筆記本或台式機配置hosts⽂文件

2.設置所有節點的hosts⽂文件

  • 節點上的hosts配置的網址一定是內網的

3.關閉所有節點的防⽕火牆及清空規則

systemctl stop firewalld
systemctl disable
firewalld iptables -F

4.關閉所有節點的selinux

vi /etc/selinux/config
將SELINUX=enforcing改為SELINUX=disabled
設置后需要重啟才能⽣生效

5.設置所有節點的時區⼀致及時鍾同步

 

6.1.時區

[root@test-hadoop01 ~]# date
Wed Oct 30 16:54:21 CST 2019

在所有的節點執行此命令看Time zone是否都是 Asia/Shanghai ,如果是就OK如果不是需要設置為 Asia/Shanghai

#否則所有節點設置亞洲上海時區  均執行以下命令,以此來設置Asia/Shanghai時區

timedatectl set-timezone Asia/Shanghai

所有節點同步時間

方式:在每天凌晨所有機器與test-hadoop01同步一次設置如下

所有機器執行命令

crontab -e

添加腳本

00 00 * * * /usr/sbin/ntpdate test-hadoop01

然后所有節點執行

 /usr/sbin/ntpdate test-hadoop01

7.部署集群的JDK

mkdir /usr/java
tar -xzvf jdk-8u45-linux-x64.tar.gz -C /usr/java/
#切記必須修正所屬⽤用戶及⽤用戶組
chown -R root:root /usr/java/jdk1.8.0_45
echo "export JAVA_HOME=/usr/java/jdk1.8.0_45" >> /etc/profile
echo "export PATH=${JAVA_HOME}/bin:${PATH}" >> /etc/profile
source /etc/profile
which java
 注意:如果你的機器上本來就有java的環境看一下他是在什么目錄之下

如果家目錄是 JAVA_HOME=/usr/java/jdk1.8.0_45這種形式的,那么沒有什么需要修改的,如果你的java的家目錄不是這樣的,那么你要注意了

比如我這次部署的過程中我的家目錄就是/usr/local/java,但是我抱着僥幸心理並沒有去修改他,然后后邊部署spark的時候果然出了問題

所以在你的Java的家目錄不是/usr/java/jdk1.8.0_45這種形式的時候,一定要做一個軟連接到/usr/java/default  目錄下

敲黑板划重點   血與淚的教訓

 

 

8.test-hadoop01節點離線部署MySQL5.6

 具體可參考博客:https://www.cnblogs.com/xuziyu/p/10353968.html

 

9.創建CDH的元數據庫和⽤用戶、amon服務的數據庫及⽤用戶

create database cmf DEFAULT CHARACTER SET utf8;
create database amon DEFAULT CHARACTER SET utf8;
grant all on cmf.* TO 'cmf'@'%' IDENTIFIED BY '123456';
grant all on amon.* TO 'amon'@'%' IDENTIFIED BY '123456';
flush privileges;

10.test-hadoop01節點部署mysql jdbc jar

mkdir -p /usr/share/java/

cp mysql-connector-java.jar /usr/share/java/

三.CDH部署

1.離線部署cm server及agent

1.1.所有節點創建⽬目錄及解壓

mkdir /opt/cloudera-manager

tar -zxvf cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz -C /opt/cloudera-manager/

1.2.所有節點修改agent的配置,指向server的節點test-hadoop01

sed -i "s/server_host=localhost/server_host=test-hadoop01/g" /opt/cloudera-manager/cm5.16.1/etc/cloudera-scm-agent/config.ini


1.3.主節點修改server的配置:

vi /opt/cloudera-manager/cm-5.16.1/etc/cloudera-scm-server/db.properties

com.cloudera.cmf.db.type=mysql

com.cloudera.cmf.db.host=test-hadoop01

com.cloudera.cmf.db.name=cmf

com.cloudera.cmf.db.user=cmf

com.cloudera.cmf.db.password=123456

com.cloudera.cmf.db.setupType=EXTERNAL


1.4.所有節點創建⽤用戶

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


1.5.⽬目錄修改⽤用戶及⽤用戶組

chown -R cloudera-scm:cloudera-scm /opt/cloudera-manager

2.test-hadoop01節點部署離線parcel源

2.1.部署離線parcel源

$ mkdir -p /opt/cloudera/parcel-repo
$ cp CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel  /opt/cloudera/parcel-repo/

#切記cp時,重命名去掉1,不不然在部署過程CM認為如上⽂文件下載未完整,會持續下載

$ cp CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.1 6.1-1.cdh5.16.1.p0.3-el7.parcel.sha

$ cp manifest.json /opt/cloudera/parcel-repo/
$cd /opt/cloudera/parcel-repo

[root@test-hadoop01 parcel-repo]# ll total 3081664 -rw-r--r-- 1 root root 2127506677 May 9 18:04 CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel -rw-r--r-- 1 root root 41 May 9 18:03 CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha1 -rw-r--r-- 1 root root 841524318 May 9 18:03 cloudera-manager-centos7-cm5.16.1_x 86_64.tar.gz -rw-r--r-- 1 root root 185515842 Aug 10 2017 jdk-8u144-linux-x64.tar.gz -rw-r--r-- 1 root root 66538 May 9 18:03 manifest.json -rw-r--r-- 1 root root 989495 May 25 2017 mysql-connector-java.jar

2.2.⽬目錄修改⽤用戶及⽤用戶組

$ chown -R cloudera-scm:cloudera-scm /opt/cloudera/

3.所有節點創建軟件安裝⽬目錄、⽤用戶及⽤用戶組權限

mkdir -p /opt/cloudera/parcels chown -R cloudera-scm:cloudera-scm /opt/cloudera/

4.test-hadoop01節點啟動Server

4.1.啟動server

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


4.2.要確保test-hadoop01節點防⽕火牆放開7180端⼝

4.3.等待1min,打開 http://hadoop001:7180 賬號密碼:admin/admin

4.4.假如打不不開,去看server的log,根據錯誤仔細排查錯誤

 

5.所有節點啟動Agent

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

6.接下來,全部Web界⾯面操作

http://hadoop001:7180/

賬號密碼:admin/admin

7.歡迎使⽤用Cloudera Manager--最終⽤用戶許可條款與條件。勾選

 

 8.歡迎使⽤用Cloudera Manager--您想要部署哪個版本?選擇Cloudera Express免費 版本

 

 

9.感謝您選擇Cloudera Manager和CDH

 

 

10.為CDH集群安裝指導主機。選擇[當前管理理的主機],全部勾選

 

 11.選擇存儲庫

 

 


12.集群安裝--正在安裝選定Parcel

  • 假如本地parcel離線源配置正確,則"下載"階段瞬間完成,其余階段視節點數與內部⽹網絡情況決定。

 13.檢查主機正確性

 

 

14.⾃自定義服務,選擇部署Zookeeper、HDFS、Yarn服務

 

 

15.⾃自定義⻆角⾊色分配(具體如何分配,可自行決定)

 

 

 16.數據庫設置

 

 

 17.審改設置,默認即可

 

 

 18.⾸首次運⾏

 

 

 19.恭喜您!

 

 到這里簡單的CDH集群就搭建成功了!!!

搭建路上可能會遇到各種各樣的問題,但是大坑我應經幫助各位避免了,剩下的靠你自己了!加油啊!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM