第一部分:準備工作
一,修改hostname
$vim /etc/sysconfig/network
$source /etc/sysconfig/network
例如:
NETWORKING=yes
HOSTNAME=spark01
reboot重啟服務器
二,關閉selinux
查看SELinux狀態
1,/usr/sbin/sestatus -v #如果SELinux status參數為enable,即開啟狀態
2,getenforce #也可以用這個命令檢查
關閉SELinux
1,臨時關閉
setenforce 0
2,修改配置文件需要重啟機器
修改/etc/selinux/config文件
將SELINUX=enforcing改成SELINUX=disabled
三,關閉防火墻
sudo systemctl stop firewalld.service && sudo systemctl disable firewalld.service
四,配置hosts
vim /etc/hosts
172.16.0.81 spark01
五,安裝jdk
tar -zxvf [jdk包]
配置環境變量
vim /etc/profile
export JAVA_HOME=/home/app/jdk1.7.0_45/
export PATH=$PATH:$JAVA_HOME/bin
重新加載profile使配置生效
source /etc/profile
環境變量配置完成,測試環境變量是否生效
echo $JAVA_HOME
java -version
第二部分:Cloude Manager安裝
1,從官方網站下載CDH軟件包和Cloudera Manager安裝包。
2,安裝相關依賴組件
yum -y install chkconfig bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs redhat-lsb httpd httpd-tools unzip ntp
3,啟動httpd服務
systemctl start httpd.service
systemctl enable httpd.service #設置為開機啟動
4,配置NTP時鐘同步
在所有要安裝CDH環境的設備中設置統一時鐘同步服務。如果我們有時鐘服務器,那么我們需要在每一臺設備上進行NTP客戶端配置;如果沒有,我們就將server主機作為時鐘服務器,對server主機進行NTP服務器配置。其他服務器來同步這臺服務器的時鐘。
本示例中將按照沒有時鐘服務器的情況進行演示,將server主機配置為NTP服務器,其他主機配置為NTP客戶端。如果有時鐘服務器更簡單,所有的服務器都配置為NTP客戶端就好了。
NTP服務器配置(在server主機上配置,如果有時鐘服務器,server主機也是配置為客戶端)
修改/etc/ntp.conf
對該文件的內容進行以下的修改:
1、注釋掉所有的restrict開頭的配置
2、找到restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap,取消注釋,并將其中IP和掩碼修改為真實環境IP和掩碼,此行配置為允許ntp客戶端連接的配置
3、找到server 0.centos.pool.ntp.org iburst,并將所有server配置進行注釋
4、添加下面兩行內容server 127.127.1.0fudge 127.127.1.0 stratum 10
啟動NTP服務
執行以下命令啟動ntp服務
systemctl restart ntpd
查看服務狀態
啟動服務后,使用ntpq -p查看服務狀態,當reach達到比較大的值后(一般為17),再進行NTP客戶端配置。
NTP客戶端配置(在agent主機上進行配置)
修改/etc/ntp.conf
對該文件進行以下內容的修改:
1、注釋所有restrict和server配置
2、添加下面注釋,需要修改以下的IP為NTP服務器的IP(在本案例中就是server主機的IP)server 192.168.187.5
手動同步時間
為了避免首次同步時間比較慢,和測試一下我們是否配置正確,我們先使用下面命令手工同步一次。
ntpdate 192.168.187.51
啟動NTP服務
systemctl restart ntpd
將所有的主機的ntp服務設置為開機自啟動
chkconfig ntpd on
systenctl enable ntpd.service
5,mysql安裝
mysql安裝在server主機上,具體請參考相關參考教程,另外,也可以使用外部mysql服務,我本次安裝,即是采用的外部mysql方式,后面再安裝完cloudera后,說說如何配置
6.Cloudera Manager Server的安裝
上傳安裝包
此處記得將CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1改成CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha,否則安裝時將重新下載。
創建安裝目錄并解壓安裝介質
mkdir /opt/cloudera-manager
tar xzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
安裝數據庫驅動
mkdir -p /usr/share/java
cp mysql-connector-java-5.1.44-bin.jar /usr/share/java/mysql-connector-java.jar
創建系統用戶cloudera-scm
useradd --system --home=/opt/cloudera-manager/cm-5.12.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
創建server存儲目錄
mkdir /var/lib/cloudera-scm-server
chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server
創建hadoop離線安裝包存儲目錄
mkdir -p /opt/cloudera/parcels;
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
配置agent的server指向
[root@hdfs1 ~]# vi /opt/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/config.ini
將server_host修改為cloudera manager server的主機名,對于本示例而言,也就是server主機。
部署CDH離線安裝包
[root@hdfs1 ~]# mkdir -p /opt/cloudera/parcel-repo;
[root@hdfs1 ~]# chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo;
[root@hdfs1 ~]# mv CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha manifest.json /opt/cloudera/parcel-repo/
上面由于使用外部mysql,此時,需要進行指定:
/opt/cloudera-manager/cm-5.15.1/share/cmf/schema/scm_prepare_database.sh mysql -h 172.16.0.36 -u root -p*** --scm-host spark01 scm root ***
此處如果執行報錯,
需要給JAVA_HOME加軟連接,先mkdir /usr/java執行ln -s [java文件路徑] /usr/java/default
啟動Cloudera Manager Server
/opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-server start
啟動Cloudera Manager Agent
/opt/cloudera-manager/cm-5.15.1/etc/init.d/cloudera-scm-agent start
7, Cloudera Manager Agent的安裝
在除了server服務器外的其他的服務器都要執行以下步驟進行對agent的部署。
上傳安裝包
對于agent的安裝我們只需要以下的兩個安裝介質
Cloudera Manager 安裝包:cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz
MySQL驅動包:mysql-connector-java-5.1.44-bin.jar
安裝數據庫驅動
[root@hdfs1 ~]# mkdir -p /usr/share/java
[root@hdfs1 ~]# cp mysql-connector-java-5.1.44-bin.jar /usr/share/java/mysql-connector-java.jar
創建安裝目錄并解壓安裝介質
[root@hdfs1 ~]# mkdir /opt/cloudera-manager
[root@hdfs1 ~]# tar xzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
建系統用戶cloudera-scm
[root@hdfs1 ~]# useradd --system --home=/opt/cloudera-manager/cm-5.12.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
創建hadoop離線安裝包存儲目錄
[root@hdfs1 ~]# mkdir -p /opt/cloudera/parcels;
[root@hdfs1 ~]# chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
配置agent的server指向
[root@hdfs1 ~]# vi /opt/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/config.ini
將server_host修改為cloudera manager server的主機名,對于本示例而言,也就是server主機。
啟動Cloudera Manager Agent
[root@hdfs1 ~]# /opt/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-agent start
瀏覽器訪問ip:7180
用戶名:admin 密碼:admin
到此為止,cloudera manager就安裝完成。
第三部分:CDH安裝
一路按照提示往下走,在檢查主機環境的時候,要注意警告,盡量處理完。
注意點:將java的路徑做軟連接,否則會報錯,具體怎么做,看前面介紹。
mysql的配置時,要先在把需要的庫建好,再做測試連接就不會報錯。
安裝時如果Oozie報如下錯,是因為數據庫字符集的原因,修改成下圖就行。
安裝完成,祝你好運!
參考:https://my.oschina.net/epoch/blog/1633971
https://www.2cto.com/database/201806/753587.html
https://blog.csdn.net/clerk0324/article/details/73611937