一、環境準備
1、CM簡介
Cloudera Manager是一個擁有叢集自動化安裝、中心化管理、叢集監控、報警功能的一個工具,使得安裝叢集從幾天的時間縮短在幾個小時內,運維人員從數十人降低到幾人以內,極大的提高叢集管理的效率。
本篇就介紹如何安裝CDH,選擇的版本為6.3.1
2、環境準備
準備三臺測試機,分別為centos01,centos02,centos04。我這裡的測試機器的配置為16g記憶體,4CPU。
序號 | IP | hostname |
---|---|---|
1 | 192.168.222.10 | centos01 |
2 | 192.168.222.11 | centos02 |
3 | 192.168.222.13 | centos04 |
說明:centos03(192.168.222.12)節點被徵用做其他服務部署。
軟體 | 版本 |
---|---|
作業系統 | CentOS 7.6 |
ClouderaManager | 6.3.1 |
CDH | 6.3.2 |
JDK | 1.8 |
MySQL(MariaDB) | 5.7 |
虛擬機器搭建執行環境,請參考前幾篇文章:
大資料之 Hadoop-2-執行環境搭建之虛擬機器安裝
大資料之 Hadoop-3-執行環境搭建之克隆虛擬機器
2.1 關閉防火牆(所有節點)
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
2.2 關閉SeLinux(所有節點)
執行getenforce指令檢視selinux狀態,如果輸出為:enforcing
,則需要處理一下,否則可以跳過這一步。
[root@centos01 ~]# getenforce
Enforcing
[root@centos01 ~]#
修改 /etc/selinux/config
檔案(在某些系統中,可能是 /etc/sysconfig/selinux
檔案)
vi /etc/selinux/config
將 SELINUX=enforcing
修改為
SELINUX=disabled
更新配置之後要重啟伺服器生效,或者執行:setenforce 0
,使其立即生效。
setenforce 0
注意:也可以使用 sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
再次檢視:
[root@centos01 ~]# getenforce
Permissive
3、配置yum源
配置yum源
(1)、備份,將 CentOS-Base.repo 為CentOS-Base.repo.backup
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
(2)、下載新的 http://mirrors.aliyun.com/rep...,並命名為CentOS-Base.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
(3)、清除快取
yum clean all # 清除系統所有的yum快取
yum makecache # 生成yum快取
4、NTP服務安裝和設定
Hadoop對叢集中各個機器的時間同步要求比較高,要求各個機器的系統時間不能相差太多,不然會造成很多問題。可以配置叢集中各個機器和網際網路的時間伺服器進行時間同步,但是在實際生產環境中,叢集中大部分伺服器是不能連線外網的,這時候可以在內網搭建一個自己的時間伺服器(NTP伺服器),叢集的各個機器與這個時間伺服器進行時間同步。我們選擇其中一個節點centos01機器作為NTP伺服器,其他機器和它自動同步。
4.1 安裝NTP(所有節點)
yum -y install ntp
4.2 Manager節點(centos01):
設定指向NTP伺服器,如果區域網內有時間伺服器,可以指向時間伺服器(manager節點-centos01)
vi /etc/ntp.conf
註釋掉之前的server,然後新增以下NTP伺服器
server http://ntp.aliyun.com
4.2 其他節點:
vi /etc/ntp.conf
叢集的其他節點指向第一個(centos02、centos04)
server centos01
重新啟動 ntp 服務和設定開機自啟(所有節點):
service ntpd restart
systemctl enable ntpd.service
檢視和測試:
ntpdc -c loopinfo #檢視與時間同步伺服器的時間偏差
ntpq -p #檢視當前同步的時間伺服器
ntpstat #檢視狀態定時同步crontab
crontab -e #可以不用設定
10 * * * * /usr/sbin/ntpdate centos1
二、配置和安裝CDH
CDH官方的網站已經無法直接下載安裝包了(需要賬號密碼),需要找一些之前下載過的人索取。
連結:https://pan.baidu.com/s/1dpyhF6TRXaqryab6ZVVXfw
提取碼:1cuo
官網下載包(比較慢):
http://ro-bucharest-repo.bigstepcloud.com/cloudera-repos/cm6/redhat/7/x86_64/cm/6.2.0/RPMS/x86_64/
https://archive.cloudera.com/cm6/6.3.1/
1.配置CM源
注意:作業系統可以先配置本地yum。CDH的安裝包都是rpm包。如果使用rpm安裝方式安裝起來是比較複雜的,會有很多依賴問題需要解決,就需要使用yum幫助我們解決依賴問題。(也可以是線上的阿里yum源,之前在按照好作業系統之後已經設定了aliyun的yum,所有這裡省略centos yum源)
配置CM源:
在centos01節點上安裝並啟動 httpd
#安裝
yum install httpd
#啟動
service httpd start
#開機自啟
systemctl enable httpd
或者chkconfig httpd on
1.2 將埠號修改為:6789 (可選項操作,預設是80,這裡使用預設的埠)
$ vi /etc/httpd/conf/httpd.conf
增加/修改埠號如下:
Listen 6789
1.3 進入到這個目錄下,新建目錄:
cd /var/www/html/
mkdir cm6
mkdir cdh6
1.4 將cdh的安裝包和cm的包拷貝到建立的目錄
1.4.1 拷貝cm安裝包和jdk到cm6
#拷貝cm安裝包和jdk到cm6
cp cloudera-manager-* /var/www/html/cm6/
cp enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm /var/www/html/cm6
cp oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm /var/www/html/cm6
cm6目錄拷貝的檔案:
[root@centos01 cm6]# ls -l
總用量 1380408
-rw-r--r--. 1 root root 10483568 2月 27 14:11 cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 root root 1203832464 2月 27 14:12 cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 root root 10996 2月 27 14:12 cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 root root 14209868 2月 27 14:12 enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r--. 1 root root 184988341 2月 27 14:12 oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
[root@centos01 cm6]#
1.4.2 拷貝cdh安裝包和後設資料檔案
# 拷貝cdh安裝包和後設資料檔案
cp CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel /var/www/html/cdh6/
cp manifest.json /var/www/html/cdh6/
拷貝到cdh6目錄的檔案:
[root@centos01 cdh6]# ls -l
總用量 2033424
-rw-r--r--. 1 root root 2082186246 2月 27 14:08 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
-rw-r--r--. 1 root root 33887 2月 27 14:08 manifest.json
1.5 安裝createrepo命令,然後進入到cm6目錄建立yum源
[root@centos01 cdh6]# yum install -y createrepo #下載createrepo
[root@centos01 cdh6]# cd /var/www/html/cm6 #命令進入到cm6安裝包的httpd資源位置
[root@centos01 cdh6]# createrepo . #建立yum源的描述meta
1.6 配置yum源(每個節點)
cat >> /etc/yum.repos.d/cm.repo << EOF
[CM]
name=cm6
baseurl=http://centos01:6789/cm6/
gpgcheck=0
EOF
然後再其他節點:centos02,centos04 節點執行上述命令;
檢視yum配置源是否生效
yum clean all
yum repolist
可以看到cm源已經配置成功了。
2.安裝
2.1 安裝依賴(所有節點)
yum install -y bind-utils libxslt cyrus-sasl-plain cyrus-sasl-gssapi portmap fuse-libs /lib/lsb/init-functions httpd mod_ssl openssl-devel python-psycopg2 Mysql-python fuse
2.2 安裝cloudera-manager和agent(centos01 節點)
#安裝JDK
yum install -y oracle-j2sdk1.8.x86_64
#安裝cloudera-manager
yum install -y cloudera-manager-agent cloudera-manager-daemons cloudera-manager-server cloudera-manager-server-db-2 postgresq-server
在安裝JDK時出現這樣的錯誤:
然後去官網重新下載了一個包:
http://ro-bucharest-repo.bigs...
將新下載的 oracle-j2sdk1.8.x86_64
檔案放到cm6 目錄下,然後重新建立yum源:
[root@centos01 cdh6]# cd /var/www/html/cm6 #命令進入到cm6安裝包的httpd資源位置
[root@centos01 cdh6]# createrepo . #建立yum源的描述meta
接著繼續安裝cloudera-manager:
#安裝cloudera-manager
yum install -y cloudera-manager-agent cloudera-manager-daemons cloudera-manager-server cloudera-manager-server-db-2 postgresq-server
又報這樣的錯誤:
2.3 安裝Mariadb(cdh01)
#安裝
yum install -y mariadb-server
#啟動和開機自啟
systemctl start mariadb && systemctl enable mariadb
#配置Mariadb資料庫
mysql_secure_installation #可以在遇[Y/n]輸入y設定密碼 [賬號/密碼:root/123456]
2.4 修改配置檔案(所有節點)
修改Cloudera Agent配置檔案/etc/cloudera-scm-agent/config.ini,配置server_host為主節點cdh01
#通過vi命令修改
vi /etc/cloudera-scm-agent/config.ini
server_host=centos01
# ------------- 第二種方法
#也可以通過sed命令修改(推薦)
sed -i "s/server_host=localhost/server_host=centos01/g" /etc/cloudera-scm-agent/config.ini
配置JAVA_HOME(所有節點)
vi /etc/profile
#add for JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera/
export PATH=PATH:PATH:PATH:JAVA_HOME/bin
3、啟動CDH
3.1.啟動Cloudera Manager(centos01)
#啟動
service cloudera-scm-server start //systemctl start cloudera-scm-server
#設定開機自啟???
chkconfig cloudera-scm-server on //systemctl enable cloudera-scm-server
3.2.啟動Cloudera Agent(所有節點)
#啟動
service cloudera-scm-agent start //systemctl start cloudera-scm-agent
#開機自啟
//systemctl enable cloudera-scm-agent
可以訪問http://192.168.222.10:7180 進行元件服務的安裝操作了
使用者名稱/密碼: admin/admin
相關文章:
知乎|CDH6.3.2離線安裝(附百度網盤CDH安裝包)
尚矽谷|CDH6.3.2之安裝與使用(一))
離線安裝部署CDH6.3.2叢集
CDH6.1.0離線安裝