Centos7離線部署CDH6.3.2集群

一、CDH6要求和支持的版本

官方指導(dǎo):https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_hardware_requirements.html#concept_oc2_s4b_jbb

二、環(huán)境準(zhǔn)備

1.硬件

本次搭建使用ZStack對(duì)服務(wù)器進(jìn)行虛擬化,共虛擬化5個(gè)節(jié)點(diǎn),使用Linux發(fā)行版本為CentOS7.8。

IP地址 HostName CPU Memory Disk
192.168.10.31 jht-cdh-1 40 100GB 700GB
192.168.11.20 jht-cdh-2 40 60GB 1600GB
192.169.11.21 jht-cdh-3 40 60GB 1600GB
192.168.11.26 jht-cdh-4 40 60GB 1600GB
192.168.11.27 jht-cdh-5 50 60GB 1600GB

2.軟件包下載

由于目前Cloudera公司不允許下載免費(fèi)的安裝包,故將軟件打包在網(wǎng)盤中,自取路徑:
鏈接:https://pan.baidu.com/s/11g_Ub9coen94koYzHbBCig
提取碼:q01v

三、安裝前環(huán)境修改

1.關(guān)閉防火墻

每個(gè)節(jié)點(diǎn)都要執(zhí)行

1.查看防火墻狀態(tài)
systemctl status firewalld.service
2.臨時(shí)關(guān)閉防火墻
systemctl stop firewalld.service
3.設(shè)置防火墻開機(jī)不啟動(dòng)
systemctl disable firewalld.service

2.關(guān)閉selinux

2.1什么是selinux

安全增強(qiáng)式Linux(SELinux, Security-Enhanced Linux)是一種強(qiáng)制訪問控制(mandatory access control)的實(shí)現(xiàn)。它的作法是以最小權(quán)限原則(principle of least privilege)為基礎(chǔ),在Linux核心中使用Linux安全模塊(Linux Security Modules)

1.查看eslinux狀態(tài)
getenforce 0

返回狀態(tài)為:Enforcing,為啟動(dòng)狀態(tài);Permissive,為未運(yùn)行狀態(tài);

2.臨時(shí)關(guān)閉eslinux
setenforce 0
3.永久關(guān)閉selinux
vim /etc/selinux/config
將SELINUX=enforcing修改為SELINUX=disable

3.修改hostname

1.查看hostname
hostname
2.修改hostname
vim /etc/hostname
將原h(huán)ostname修改為想要修改的hostname

4.配置hosts文件

vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

添加
192.168.10.31 jht-cdh-1
192.168.11.21 jht-cdh-2
192.168.11.22 jht-cdh-3
192.168.11.26 jht-cdh-4
192.168.11.27 jht-cdh-5

5.配置免密碼登陸

1.進(jìn)入root目錄
cd /root
2.生成公鑰與私鑰
ssh-keygen -t rsa
連續(xù)點(diǎn)三次回車
在/root/.ssh目錄下生成兩個(gè)文件id_rsa、id_rsa.pub(公鑰、私鑰)
每個(gè)節(jié)點(diǎn)都要生成!??!
3.將每臺(tái)的公鑰發(fā)送至第一臺(tái)服務(wù)器
在其他服務(wù)器上執(zhí)行:ssh-copy-id jht-cdh-1
需要輸密碼

此過程是將每臺(tái)服務(wù)器的公鑰復(fù)制在第一臺(tái)服務(wù)器/root/.ssh/authorized_keys文件中

4.復(fù)制第一臺(tái)服務(wù)器的認(rèn)證到其他服務(wù)器
scp /root/.ssh/authorized_keys jht-cdh-2:/root/.ssh
scp /root/.ssh/authorized_keys jht-cdh-3:/root/.ssh
scp /root/.ssh/authorized_keys jht-cdh-4:/root/.ssh
scp /root/.ssh/authorized_keys jht-cdh-5:/root/.ssh

6.設(shè)置時(shí)鐘同步

由于為離線安裝,無法與外部時(shí)鐘同步服務(wù)器進(jìn)行同步,需要在集群內(nèi)部設(shè)置一個(gè)時(shí)鐘同步服務(wù)器,讓其他服務(wù)器與此服務(wù)器進(jìn)行時(shí)間同步,可以保證在集群內(nèi)部的所有節(jié)點(diǎn)時(shí)間的一致的。

1.查看是否安裝ntp服務(wù)(所有服務(wù)器都要進(jìn)行驗(yàn)證)
rpm -aq | grep ntp
ntpdate-4.2.6p5-29.el7.centos.x86_64

本臺(tái)服務(wù)器已安裝ntp服務(wù),不需要進(jìn)行安裝
若沒有安裝可以通過yum或rpm的方式進(jìn)行安裝

2.配置時(shí)鐘同步主服務(wù)器
vim /etc/ntp.conf
在配置文件中修改內(nèi)容為
restrict 192.168.10.31 mask 255.255.255.0 nomodify notrap
(這里的IP為本機(jī)IP)

server 127.127.1.0
Fudge 127.127.1.0 stratum 8

修改后配置文件為:


image.png
3.啟動(dòng)ntp服務(wù)
systemctl start ntpd.service
4.設(shè)置ntp服務(wù)開機(jī)啟動(dòng)
systemctl enable ntpd.service

時(shí)鐘同步主服務(wù)器設(shè)置完畢,下來配置其他客戶服務(wù)器

5.配置客戶服務(wù)器
vim /etc/ntp.conf

修改內(nèi)容:
server 192.168.10.31(這里的ip為時(shí)鐘同步主服務(wù)器IP)
Fudge 192.168.10.31 stratum 8

修改后配置文件內(nèi)容為:


image.png
6.啟動(dòng)配置服務(wù)器ntp
systemctl start ntpd.service
7.查看配置是否生效
ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*jht-cdh-1       LOCAL(0)         6 u   40   64  377    0.312   -7.667   5.602
7.設(shè)置開機(jī)自啟
systemctl enable ntpd.service

7.主節(jié)點(diǎn)部署mysql

1.將系統(tǒng)原裝的mysql徹底刪除

1.1.停止mysql服務(wù)
systemctl stop mysqld

1.2.查看安裝mysql情況
rpm -qa | grep -i mysql

qt3-MySQL-3.3.8b-51.el7.x86_64
qt5-qtbase-mysql-5.9.7-2.el7.x86_64
qt-mysql-4.8.7-8.el7.x86_64

1.3.刪除軟件
rpm -e 包名

1.4.查看與mysql相關(guān)路徑
find / -name mysql

/etc/selinux/targeted/active/modules/100/mysql
/var/lib/pcp/config/pmlogconf/mysql
/usr/lib64/mysql
/usr/share/mysql
/usr/include/mysql

1.5.刪除相關(guān)路徑
rm -rf 路徑

系統(tǒng)默認(rèn)安裝mysql已經(jīng)全部刪除掉
2.下載配置mysql的rpm安裝包

2.1創(chuàng)建一個(gè)關(guān)于mysql rpm的目錄(隨便創(chuàng)建,知道創(chuàng)建路徑就行)
mkdir -p /opt/mysql/rpm
cd /opt/mysql/rpm

2.2.下載rpm包
wget https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm

2.3.安裝mysql源
yum localinstall -y mysql80-community-release-el7-3.noarch.rpm 

2.4.檢查mysql源
yum repolist enabled | grep "mysql.*-community.*"

mysql-connectors-community/x86_64 MySQL Connectors Community                 203
mysql-tools-community/x86_64      MySQL Tools Community                      129
mysql80-community/x86_64          MySQL 8.0 Community Server                 265

現(xiàn)在能看出mysql為8.0版本的,需要修改yum的配置文件,安裝5.7版本的

2.5.修改yum中關(guān)于mysql的配置文件
vim /etc/yum.repo.d/mysql-community.repo

將[mysql80-community]下的
enabled=1改為0
將[mysql57-community]下的
enabled=0改為1
修改完后:


image.png
2.6.再檢查yum倉庫
yum repolist enabled | grep "mysql.*-community.*"

mysql-connectors-community/x86_64 MySQL Connectors Community                 203
mysql-tools-community/x86_64      MySQL Tools Community                      129
mysql57-community/x86_64          MySQL 5.7 Community Server                 504

3.安裝mysql

yum -y install mysql-community-server

4.啟動(dòng)mysql

systemctl start mysqld.service

設(shè)置開機(jī)啟動(dòng)
systemctl enable mysqld

查看mysql狀態(tài)
systemctl status mysqld.service

● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 三 2021-06-09 11:31:26 CST; 1h 49min ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 20044 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 20021 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 20047 (mysqld)
    Tasks: 28
   CGroup: /system.slice/mysqld.service
           └─20047 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

6月 09 11:31:25 jht-cdh-1 systemd[1]: Starting MySQL Server...
6月 09 11:31:26 jht-cdh-1 systemd[1]: Started MySQL Server.

可以看出mysql已經(jīng)安裝完成
5.修改mysql中root登陸密碼

5.1.在/var/log/mysqld.log中查看默認(rèn)密碼
grep 'temporary password' /var/log/mysqld.log
2021-06-09T03:25:18.238900Z 1 [Note] A temporary password is generated for root@localhost: (Z<1diT>V2dk

密碼為:(Z<1diT>V2dk

5.2.修改登錄密碼
mysql -u -p 
輸入密碼

ALTER USER 'root'@'localhost' IDENTIFIED BY '(要改的密碼)';

6.修改mysql配置文件

vim /etc/my.cnf

添加內(nèi)容
validate_password=off
character_set_server=utf8
init_connect='SET NAMES utf8'

重啟mysql,將配置進(jìn)行生效
systemctl restart mysqld

此配置內(nèi)容不修改,創(chuàng)建CDH相關(guān)庫時(shí)會(huì)出現(xiàn)問題
7.允許root用戶遠(yuǎn)程登錄

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '(密碼)' WITH GRANT OPTION;
FLUSH PRIVILEGES;

8.創(chuàng)建CDH相關(guān)mysql庫

CREATE DATABASE scm DEFAULT CHARACTER SET utf8;
CREATE USER 'scm'@'%'IDENTIFIED BY 'scm';
GRANT ALL PRIVILEGES ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm';
GRANT ALL PRIVILEGES ON *.* TO 'scm'@'%' IDENTIFIED BY 'scm' WITH GRANT OPTION;

CREATE DATABASE amon DEFAULT CHARACTER SET utf8;
CREATE USER 'amon'@'%'IDENTIFIED BY 'amon';
GRANT ALL PRIVILEGES ON amon.* TO 'amon'@'%' IDENTIFIED BY 'amon';
GRANT ALL PRIVILEGES ON *.* TO 'amon'@'%' IDENTIFIED BY 'amon' WITH GRANT OPTION;

CREATE DATABASE hive DEFAULT CHARACTER SET utf8;
CREATE USER 'hive'@'%'IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' IDENTIFIED BY 'hive' WITH GRANT OPTION;

CREATE DATABASE hue DEFAULT CHARACTER SET utf8;
CREATE USER 'hue'@'%'IDENTIFIED BY 'hue';
GRANT ALL PRIVILEGES ON hue.* TO 'hue'@'%' IDENTIFIED BY 'hue';
GRANT ALL PRIVILEGES ON *.* TO 'hue'@'%' IDENTIFIED BY 'hue' WITH GRANT OPTION;

CREATE DATABASE oozie DEFAULT CHARACTER SET utf8;
CREATE USER 'oozie'@'%'IDENTIFIED BY 'oozie';
GRANT ALL PRIVILEGES ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%' IDENTIFIED BY 'oozie' WITH GRANT OPTION;

FLUSH PRIVILEGES;

8.創(chuàng)建本地YUM倉庫

將網(wǎng)盤下載的兩個(gè)文件夾上傳至主服務(wù)器/var/www/html路徑下

8.1.安裝httpd服務(wù)
yum install -y httpd

8.2.啟動(dòng)httpd服務(wù)
systemctl start httpd

8.3.設(shè)置httpd服務(wù)為開機(jī)啟動(dòng)
systemctl enable httpd

8.4.在cm6.3.1目錄下生成repodata目錄
cd /var/www/html/cm6.3.1
createrepo .

8.5.將cdh6.3.2下一個(gè)文件改名
mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el6.parcel.sha256 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el6.parcel.sha

生成關(guān)于cm的yum配置文件

8.6.在/etc/yum.repo.d/下編輯文件
vim cm.repo

增加內(nèi)容為
[cmrepo]
name=cm_repo
baseurl=http://jht-cdh-1/cm6.3.1
enabled=true
gpgcheck=false
8.7.分發(fā)至其他節(jié)點(diǎn)
scp /etc /yum.repo .d/cm.repo jht-cdh-2:/etc/yum.repo.d
scp /etc /yum.repo .d/cm.repo jht-cdh-3:/etc/yum.repo.d
scp /etc /yum.repo .d/cm.repo jht-cdh-4:/etc/yum.repo.d
scp /etc /yum.repo .d/cm.repo jht-cdh-5:/etc/yum.repo.d

8.8.在所有服務(wù)器都執(zhí)行
yum repolist

8.9.修改主節(jié)點(diǎn)httpd服務(wù)配置文件
vim /etc/httpd/conf/httpd.conf

將AddType application/x-gzip .gz .tgz增加配置.parcel

8.10.修改完成重啟httpd
systemctl restart httpd

在web頁面訪問地址
http://jht-cdh-1/cm6.3.1/
http://jht-cdh-1/cdh6.3.2/

9.所有服務(wù)器安裝JDK

9.1.通過yum安裝官方提供jdk
yum install -y oracle-j2sdk1.8-1.8.0+update181-1.x86_64
9.2.配置jdk環(huán)境
vim /etc /profile

增加內(nèi)容
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=:$JAVA_HOME/bin:$PATH

9.3.讓配置生效
source /etc/profile
9.4.添加mysql驅(qū)動(dòng)包
將mysql-connector-java-5.1.46.jar上傳至/opt下
mv /opt/mysql-connector-java-5.1.46.jar /usr/share/java/mysql-connector-java.jar

四、部署Cloudera Manager

1.對(duì)所有節(jié)點(diǎn)安裝daemons、agent

yum install -y cantos-release-scl
yum install -y python27 python27-devel
yum install -y cloudera-manager-daemons
yum install -y Cloudera-manager-agent 

2.修改所有節(jié)點(diǎn)agent配置

vim /etc/cloudera-scm-agent/config.ini

修改server_host值
server_host=jht-cdh-1

3.在主節(jié)點(diǎn)安裝cloudera-manager-server及scm數(shù)據(jù)庫初始化

3.1.安裝server服務(wù)
yum install -y cloudera-manager-server
3.2.初始化scm數(shù)據(jù)庫
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm scm

4.啟動(dòng)cloudera-manager-server及所有cloudera-manager-agent

4.1.在主節(jié)點(diǎn)啟動(dòng)
systemctl start cloudera-scm-server

4.2.所有節(jié)點(diǎn)啟動(dòng)
systemctl start cloudera-scm-agent

第一次啟動(dòng)時(shí)間較長(zhǎng),等待一會(huì)
進(jìn)入web界面http://jht-cdh-1:7180
默認(rèn)登錄賬號(hào):admin
默認(rèn)登錄密碼:admin
若一直web界面進(jìn)不去,查看日志

tail -100 /var/log/cloudera-scm-server/cloudera-scm-server.log

五、集群搭建

進(jìn)入http://jht-cdh-1:7180
輸入默認(rèn)賬號(hào)密碼

image.png

繼續(xù)
image.png

接受
繼續(xù)
image.png

選擇Cloudera Enterprise Cloudera Enterprise 試用版(白嫖60天)
繼續(xù)
image.png

繼續(xù)
image.png

修改集群名稱
繼續(xù)
image.png

可以進(jìn)行新主機(jī)的查找,在下面輸入主機(jī)的IP或一個(gè)IP段
image.png

我這里已經(jīng)安裝好agent服務(wù),直接選擇當(dāng)前管理主機(jī)
繼續(xù)
image.png

這里選擇更多選項(xiàng)
新添加自己的cdh的yum源
image.png

保存更改
image.png

這里監(jiān)測(cè)到可用的cdh包
繼續(xù)
image.png

從yum源下載分配Parcels
繼續(xù)
image.png

檢查主機(jī)
發(fā)現(xiàn)有兩個(gè)問題,一個(gè)是swap分區(qū),一個(gè)是啟用透明大頁面壓縮,根據(jù)給的提示進(jìn)行修改
修改swap分區(qū)

1.臨時(shí)修改
sysctl vm.swappiness=10

2.永久修改
vim /etc/sysctl.conf
添加
vm. swappiness=10

修改啟用透明大頁面壓縮

1.臨時(shí)修改
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

2.永久修改
vim /etc /rc.local
添加
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
保存退出
chmod +x /etc/rc.local

重新運(yùn)行,檢查主機(jī)


image.png

沒有問題
繼續(xù)


image.png

繼續(xù)
添加Cloudera Management Service服務(wù)
image.png

六.添加服務(wù)

這里以安裝zookeeper為例進(jìn)行安裝,安裝服務(wù)大同小異


image.png

添加服務(wù)


image.png

安裝zookeeper

image.png

選擇了3個(gè)節(jié)點(diǎn)進(jìn)行安裝,zookeeper需為基數(shù)個(gè)節(jié)點(diǎn)
繼續(xù)


image.png

默認(rèn),繼續(xù)


image.png

開始安裝
image.png

繼續(xù)
image.png

完成
至此,CDH集群已經(jīng)搭建完成,后續(xù)根據(jù)工作的需要進(jìn)行大數(shù)據(jù)服務(wù)的安裝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容