CDH5.13.1大數據集羣搭建手冊

一、環境配置

1.軟件環境

本文將介紹Centos7.2 離線安裝CDH和Cloudera Manager過程,軟件版本如下:
在這裏插入圖片描述

2.配置規劃

本次安裝共5臺服務器,服務器配置及用途如下:
在這裏插入圖片描述

3.所需要的軟件資源

1)JDK環境:
JDK版本:1.8.0_151
jdk-8u151-linux-x64.rpm
下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2)CM包:
CM版本:5.13.1
cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz

3)CDH包
CDH版本:5.13.1,
CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel;
CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha1;
manifest.json
4)JDBC連接jar包:
jar包版本:5.1.43,
mysql-connector-java-5.1.43.jar

4.修改機器名(所有節點)

1)修改機器名稱

# hostnamectl set-hostname xxx  //設置機器名
#hostname // 查看本機名

這種方式,在Centos7中可以永久性改變主機名稱。
2)每個節點機器,都要配置hosts

# vi /etc/hosts

內容都改爲:

127.0.0.1  localhost //建議保留此行
172.16.3.168  node168
172.16.3.169  node169
172.16.3.170  node170
172.16.3.171  node171
172.16.3.172  node172
5.*設置防火牆(所有節點)

注:爲了簡便,可以先關閉防所有節點火牆,安裝完成後,再按照下面步驟設置。
若公司服務器已關閉防火牆,這個步驟可以不用配置

防火牆常用命令:

# firewall-cmd  --state(查詢防火牆狀態) 
#systemctl stop firewalld.service (關閉防火牆) 
#systemctl start firewalld.service (開啓防火牆)
#systemctl disable firewalld.service (禁止firewall開機啓動)
 

設置防火牆策略,在所有節點執行下面腳本(執行前要啓動防火牆):

//集羣機器間可以相互訪問
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='172.16.3.168' port protocol='tcp' port='0-65535' accept"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='172.16.3.169' port protocol='tcp' port='0-65535' accept"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='172.16.3.170' port protocol='tcp' port='0-65535' accept"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='172.16.3.171’ port protocol='tcp' port='0-65535' accept"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='172.16.3.172' port protocol='tcp' port='0-65535' accept" 
//設置可以訪問的端口
firewall-cmd --permanent --add-port=0-65535/tcp
firewall-cmd --reload

注意: 需要在所有的節點上執行,因爲涉及到的端口太多了,臨時開放所有端口是爲了安裝起來方便,安裝完畢後可以根據需要設置防火牆策略,保證集羣安全。

6.配置免密碼登錄SSH

將子節點設置爲從主節點ssh無密碼登陸(主節點訪問從節點需要無密碼互通,否則後面會出現問題)
在主節點上執行:

#cd~ //進入到 根目錄
# ssh-keygen -t rsa

一路回車,生成無密碼的密鑰對。
在這裏插入圖片描述
把公鑰拷貝至node169服務器上 :

# scp /root/.ssh/id_rsa.pub root@node169:~    //輸入node169機器上root用戶密碼拷備成功

登錄到node169服務器上:
然後在node169服務器上,把公鑰的內容追加到authorized_keys文件末尾(這個文件也在隱藏文件夾.ssh下,如果沒有可以新建):

# cat id_rsa.pub >> ~/.ssh/authorized_keys
如果提示下面信息,則需要創建./ssh目錄:
-bash: /root/.ssh/authorized_keys: No such file or directory

//創建/.ssh目錄,再追加公鑰內容
# mkdir ~/.ssh
# cat id_rsa.pub >> ~/.ssh/authorized_keys

並設置authorized_keys的訪問權限:

# chmod 600 ~/.ssh/authorized_keys

測試:在node168點上執行ssh node169,正常情況下,不需要密碼就能直接登陸進去了。
在node168節點出現下面表示成功登錄node169節點:
在這裏插入圖片描述
以同樣的方式將公鑰拷貝至其他節點服務器上。

7.關閉SELINUX(所有節點)

關閉linux SELINUX安全內核

# setenforce 0 (臨時生效)

修改 /etc/selinux/config 下的 SELINUX=disabled (重啓後永久生效)

# vi /etc/selinux/config

內容增加:

SELINUX=disabled 

重啓後生效:

# reboot

查看SELINUX 是否關閉:

#sestatus

(在Centos7中遇到SELINUX無法關閉的問題,重新啓動機器恢復正常)

8.修改Linux內核參數(所有節點)

爲避免安裝過程中出現的異常問題,首先調整Linux內核參數。
1)設置swappiness,控制換出運行時內存的相對權重,Cloudera 建議將 swappiness 設置爲 10:

//查看swappiness
# cat /proc/sys/vm/swappiness
//永久性修改,執行下面兩條命令
# sysctl -w vm.swappiness=10
# echo vm.swappiness = 10 >> /etc/sysctl.conf 
 sysctl -p

2)關閉透明大頁面:
自CentOS6版本開始引入了Transparent Huge Pages(THP),從CentOS7版本開始,該特性默認就會啓用。儘管THP的本意是爲提升內存的性能,不過某些數據庫廠商還是建議直接關閉THP,否則可能會導致性能出現下降。
首先查看透明大頁是否啓用,[always] never表示已啓用,always [never]表示已禁用:

# cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never
# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

以上狀態就說明是啓用的。
臨時關閉(重啓機器會變回默認開啓狀態):

# echo never > /sys/kernel/mm/transparent_hugepage/defrag
# echo never > /sys/kernel/mm/transparent_hugepage/enabled

永久關閉:

//編輯/etc/rc.d/rc.local
# vi /etc/rc.d/rc.local
//在文件後添加下面內容:
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

保存退出,然後賦予rc.local文件執行權限:

#chmod +x /etc/rc.d/rc.local

重啓系統,以後再檢查THP狀態,顯示狀態被禁用了。
在這裏插入圖片描述
3)修改文件句柄數:
修改系統文件句柄數限制:

//查看文件句柄數,顯示1024,顯然太小
# ulimit -n 
1024
//修改限制
#vi /etc/security/limits.conf 
//在文件後加入下面內容:

* soft nofile 100000
* hard nofile 100000

修改後需要重啓機器。

9.其他安裝與配置(所有節點)

爲避免安裝過程中出現異常問題,安裝相關依賴包:

# yum  -y  install psmisc MySQL-python at bc bind-libs bind-utils cups-client cups-libs cyrus-sasl-gssapi cyrus-sasl-plain ed fuse fuse-libs httpd httpd-tools keyutils-libs-devel krb5-devel libcom_err-devel libselinux-devel libsepol-devel libverto-devel mailcap noarch mailx mod_ssl openssl-devel pcre-devel postgresql-libs python-psycopg2 redhat-lsb-core redhat-lsb-submod-security  x86_64 spax time zlib-devel
#yum install -y python-lxml
#yum install krb5-devel cyrus-sasl-gssapi cyrus-sasl-deve libxml2-devel libxslt-devel mysql mysql-devel openldap-devel python-devel python-simplejson sqlite-devel

# chmod +x /etc/rc.d/rc.local
# yum -y install rpcbind
# systemctl start rpcbind
# echo "systemctl start rpcbind" >> /etc/rc.d/rc.local
10.配置NTP服務

集羣中所有主機必須保持時間同步,如果時間相差較大會引起各種問題。 具體建設過程如下:
所有節點安裝相關組件:

# yum install  ntp  ntpdate  -y

NTP服務端(主節點):
1)查找時間同步服務器http://www.pool.ntp.org/zone/asia:
打開網址,內容如下:
在這裏插入圖片描述
2)編輯 /etc/ntp.conf:

# vi /etc/ntp.conf
//在文件中輸入上面網頁內容:

server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org

3)啓動ntp服務:

#  systemctl start  ntpd

4)配置開機啓動:

#systemctl enable  ntpd.service

注意:如果ntpd 開機啓動失效,有可能是因爲安裝了chronyd 並且是開機自啓狀態,所以導致ntpd開機自啓失敗

# 查看  chronyd設置狀態
# systemctl status chronyd

顯示如下:
在這裏插入圖片描述
以面表明,chronyd顯示爲開機啓動狀態。
將chronyd設爲禁用狀態:

# systemctl disable chronyd.service

此時,NTP的服務開機自啓動完成!
5)檢查是否設置成功:

# ntpq  -p
//更新時間
#timedatectl 

NTP客戶端(所有從節點):
6)遠程客戶端時間同步測試

# date
# ntpdate 172.16.3.168

172.16.3.168是NTP服務端IP,顯示如下信息,測試成功:
在這裏插入圖片描述
7)客戶端設置計劃任務,每30分鐘同步時間

#crontab -e 
//加入內容:
0-59/30 * * * * /usr/sbin/ntpdate 172.16.3.168 && /sbin/hwclock -w

8)設置定時任務開機啓動

//設置開機啓動
# systemctl enable crond.service

//查看狀態
# systemctl status crond
11.安裝 JDK1.8 (所有節點)

官網下載JDK安裝包jdk-8u151-linux-x64.rpm ,或者本地傳輸到Linux,注意每一臺機器都要配置JDK。
CentOS系統一般自帶OpenJdk,需要卸載掉自帶的OpenJdk,使用

# rpm -qa | grep java

查詢java相關的包,使用

# rpm -e –nodeps +包名

強制卸載掉,下面安裝oralce JDK

# rpm -ivh jdk-8u151-linux-x64.rpm

配置JAVA_HOME環境變量:
修改/etc/profile文件配置環境變量, 執行命令:

# vi /etc/profile   

在profile文件最後,輸入下面內容,保存並退出。

export JAVA_HOME=/usr/java/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin 

執行下面命令,讓配置生效

# source /etc/profile   //使修改立即生效
# echo $PATH   //查看PATH值
# echo $JAVA_HOME   //查看JAVA_HOME值
# java -version      //查看jdk環境是否配置完畢

在Centos7中修改/etc/profile文件配置環境變量,機器啓動後有時不生效,可以修改/etc/bashrc文件配置環境變量:

# vi /etc/bashrc 
//在文件最後加入:
export JAVA_HOME=/usr/java/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin 
//使修改立即生效
# source /etc/bashrc 
//查看JAVA_HOME值
# echo $JAVA_HOME  
# java -version      //查看jdk環境是否配置完畢
12.Mysql安裝(主節點)

注意:MySQL有多種安裝方式,可以自行安裝,這裏提供依賴安裝方法,注意四個依賴順序
到官網https://dev.mysql.com/downloads/file/?id=469456選擇對應安裝包:
1)下載安裝包

#wget https://cdn.mysql.com//archives/mysql-5.7/mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar

2)解壓安裝包

# tar -xvf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
//解壓後文件列表:
mysql-community-embedded-devel-5.7.18-1.el7.x86_64.rpm
mysql-community-devel-5.7.18-1.el7.x86_64.rpm
mysql-community-client-5.7.18-1.el7.x86_64.rpm
mysql-community-common-5.7.18-1.el7.x86_64.rpm
mysql-community-embedded-5.7.18-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.18-1.el7.x86_64.rpm
mysql-community-libs-5.7.18-1.el7.x86_64.rpm
mysql-community-server-minimal-5.7.18-1.el7.x86_64.rpm
mysql-community-test-5.7.18-1.el7.x86_64.rpm
mysql-community-minimal-debuginfo-5.7.18-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm

3)按次序安裝
按common–>libs–>client–>server的順序安裝:

# rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
# rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
# rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
# rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm
# rpm -ivh mysql-community-devel-5.7.18-1.el7.x86_64.rpm 

//安裝下面包,否則Hue安裝報連接錯誤
# rpm -ivh  mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm

4)啓動數據庫

# systemctl start mysqld 
查看狀態: 
# systemctl status mysqld

5)修改MySQL初始密碼

1、先修改配置文件/etc/my.cnf令MySQL跳過登錄時的權限檢驗,在[mysqld]下加入一行:
skip-grant-tables
2、重啓MySQL
#service mysqld restart
3、免密碼登錄MySQL。
#mysql
4、mysql客戶端執行如下命令,修改root密碼
mysql>  use mysql;
mysql> UPDATE user SET authentication_string = password('your-password') WHERE host = 'localhost' AND user = 'root';
mysql> select host,user, authentication_string, password_expired from user; 
mysql> update user set password_expired='N' where password_expired='Y' //密碼不過期
mysql> update user set host='%' where user='root' and host='localhost'; //遠程可訪問
mysql> flush privileges; //刷新
mysql> exit;//退出

5、修改配置文件/etc/my.cnf刪除此前新增那一行skip-grant-tables,並重啓MySQL
(這一步非常重要,不執行可能導致嚴重的安全問題)
#service mysqld restart //重啓 Mysql

二、安裝CM

1.傳包,解包

在主節點上下載相關軟件包,這裏將軟件包下載到/data/ cdh/目錄下。

#cd /data/cdh

下載Mysql JDBC包:

#wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.43/mysql-connector-java-5.1.43.jar

下載CM:

#wget http://archive-primary.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz 

下載CDH:

#wget http://archive-primary.cloudera.com/cdh5/parcels/5.13.1/manifest.json
#wget http://archive-primary.cloudera.com/cdh5/parcels/5.13.1/CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha1
#wget http://archive-primary.cloudera.com/cdh5/parcels/5.13.1/CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel

將CM解壓到/opt/目錄:

# tar -zxvf cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz  -C /opt/
# ls /opt/
cloudera  cm-5.13.1
2.創建數據庫

在主節點上:

# mysql -h127.0.0.1 -uroot -p   //加參數-h127.0.0.1 指定本機方式,否則可能不允許執行grant
Enter password:          \\輸入數據庫密碼
//在命令狀態輸入下面腳本:
--hive數據庫 
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
--集羣監控元數據數據庫
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
--hue數據庫
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
--監控臺數據庫
create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
-- oozie數據庫
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
grant all privileges on *.* to root@localhost identified by '123456' with grant option;
grant all privileges on *.* to root@"%" Identified by "123456";
flush privileges;
exit;
//複製Mysql JDBC包到/opt/cm-5.13.1/share/cmf/lib/目錄
#cp mysql-connector-java-5.1.43-bin.jar /opt/cm-5.13.1/share/cmf/lib/
//初始化CM,執行下面腳本
# /opt/cm-5.13.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hnode168 -uroot -p123456--scm-host node168 scm scm scm

//如果出現下面錯誤:
錯誤一:
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
//解決辦法:
在/etc/hosts 文件中,加上
127.0.0.1 localhost.node168

錯誤二:cm庫已存在
Drop database cm

錯誤三:ERROR Exception when creating/dropping database with user 'root' and jdbc url 'jdbc:mysql://node01/?useUnicode=true&characterEncoding=UTF-8'
重新授權:
grant all privileges on *.* to 'root'@'localhost' identified by '123456' with grant option;
grant all privileges on *.* to 'root'@'node168' identified by '123456' with grant option;
grant all privileges on *.* to 'root'@'127.0.0.1' identified by '123456' with grant option;
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

grant all privileges on *.* to 'scm'@'localhost' identified by 'scm' with grant option;
grant all privileges on *.* to 'scm'@'node168' identified by 'scm' with grant option;
grant all privileges on *.* to 'scm'@'127.0.0.1' identified by 'scm' with grant option;
grant all privileges on *.* to 'scm'@'%' identified by 'scm' with grant option;
flush privileges;

錯誤四: Successfully connected to database.ERROR Unable to create/drop a table.
java.sql.SQLException: Statement violates GTID consistency: CREATE TABLE ... SELECT.
連接成功,但是不能建表
解決方法:若my.cnf中存在gtid_mode、enforce_gtid_consistency字段,需修改爲如下內容:
gtid_mode = OFF
enforce_gtid_consistency = OFF
要兩個參數一起改,然後重啓mysql,問題解決

主節點/etc/hosts內容:
在這裏插入圖片描述
腳本/scm_prepare_database.sh 執行成功界面:
在這裏插入圖片描述

說明:初始化CM這個腳本就是用來創建和配置CMS需要的數據庫的腳本。
各參數是指:
mysql:數據庫用的是mysql,如果安裝過程中用的oracle,那麼該參數就應該改爲oracle。
–hnode168:數據庫建立在node168主機上面。
-uroot:root身份運行mysql。
-p1234:mysql的root密碼是1234,這裏爲了方便密碼也設置爲root。
–scm-host cmserver:CMS的主機,一般是和mysql安裝的主機是在同一個主機上,也可指定其他主機。
最後三個參數是:數據庫名,數據庫用戶名,數據庫密碼,這裏統一scm

3.創建用戶

在所有節點上執行:

# useradd --system --home=/opt/cm-5.13.1/run/cloudera-scm-server  --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
4.製作本地YUM源

在主節點上:

//進入軟件包目錄
#cd /data/cdh
//拷貝三個文件到/opt/cloudera/parcel-repo/目錄
#cp  CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha1 manifest.json /opt/cloudera/parcel-repo/
//進入/opt/cloudera/parcel-repo/目錄
#cd /opt/cloudera/parcel-repo/
//修改文件名
#mv CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha1  CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha

此時/opt/cloudera/parcel-repo/目錄下文件:
在這裏插入圖片描述

5.拷貝jar包

在主節點上:該操作在上述環節已操作

//將mysql JDBC jar 包拷貝到  /opt/cm-5.13.1/share/cmf/lib/ 目錄,並重命名
#cp mysql-connector-java-5.1.43-bin.jar  /opt/cm-5.13.1/share/cmf/lib/

在所有節點上:

//如果沒有/usr/share/java/目錄,則創建
# cp mysql-connector-java-5.1.43-bin.jar /usr/share/java/mysql-connector-java.jar
在usr/share/java下執行chmod 777 ./*   
6.修改cloudera-scm-agent配置

在主節點上,修改/opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini文件:
將server_host改爲主節點IP

//將config.ini server_host=localhost 內容改爲server_host=172.16.3.168
# sed -i "s/server_host=localhost/server_host=172.16.3.168/" /opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini
在主節點上:
//將cm-5.13.1 打包,並複製到其他節點
#cd /opt 
#tar czf cm-5.13.1.tar.gz  cm-5.13.1/
//複製到其他節點
#scp cm-5.13.1.tar.gz node169:/opt/
#scp cm-5.13.1.tar.gz node170:/opt/
#scp cm-5.13.1.tar.gz node171:/opt/
#scp cm-5.13.1.tar.gz node172:/opt/

在所有從節點上解壓:

//將cm-5.13.1 包解壓
#cd opt 
#tar -xzvf cm-5.13.1.tar.gz 
//解壓後刪除
#rm -rf cm-5.13.1.tar.gz
7.啓動CM Server和Agent

在主節點上,啓動cloudera-scm-server和agent :

# /opt/cm-5.13.1/etc/init.d/cloudera-scm-server start
#/opt/cm-5.13.1/etc/init.d/cloudera-scm-agent start

啓動過程較慢,可通過/opt/cm-5.13.1/log/cloudera-scm-server日誌,查看啓動過程。
在所有節點上,啓動cloudera-scm-agent:

# /opt/cm-5.13.1/etc/init.d/cloudera-scm-agent start
8.訪問CM

地址:http://主節點IP:7180
用戶名、密碼:admin
在這裏插入圖片描述

三、安裝CDH

1.登錄後界面

接受協議:
在這裏插入圖片描述

2.選擇CM版本

這裏選擇Cloudera Express免費版。
在這裏插入圖片描述
在這裏插入圖片描述

3.指定主機

在搜索主機名和IP地址框輸入node[169-172],這裏輸入的內容支持正則表達式。輸入後點【搜索】按鈕,出現機器列表:
在這裏插入圖片描述
選擇“當前管理的主機“選擇項卡,點【繼續】。
在這裏插入圖片描述

4.檢查主機正確性

確保全部驗證通過。
在這裏插入圖片描述

5.選擇CDH版本

這裏需要選擇製作本地源時的版本,如果選擇別的版本的就會去官網下載,那樣安裝速度會很慢。
在這裏插入圖片描述
點【繼續】按鈕,進入安裝界面。

在這裏插入圖片描述
【注意】容易出現 “主機運行狀態不良”錯誤
在這裏插入圖片描述
遇到節點“主機運行狀態不良”的提示,解決辦法是刪除故障節點Agent服務cm_guid文件:

#rm -rf /opt/cm-5.13.1/lib/cloudera-scm-agent/cm_guid

重新啓動故障節點Agent服務:

#/opt/cm-5.13.1/etc/init.d/cloudera-scm-agent restart

重啓故障節點Agent服務後,故障消失:
出現故障原因是,因爲之前在故障節點啓動過cloudera-scm-agent服務。

6.選擇安裝的服務

本文選擇的是安裝所有服務。也可以自定義安裝,後面集羣搭建完畢選擇“添加服務”來添加所需要的的服務。

在這裏插入圖片描述

7.角色分配

這裏應該根據實際需求和服務器的硬件參數自己選擇
在這裏插入圖片描述

8.數據庫設置

指定的數據庫名稱,要與2.2節創建的數據庫(hive,monitor,oozie,hue)保持一致,並輸入對應的數據庫用戶名和密碼,爲了簡便這裏用的是root賬號名和密碼。

在這裏插入圖片描述
在這裏插入圖片描述
hue測試連接報錯:
測試連接,Hue 測試報錯:Unable to verify database connection:
原因是缺少Mysql mysql-community-libs-compat 安裝包,安裝後,問題解決:

//進入安裝包所在目標
# cd /data/mysql/ 
# rpm -ivh  mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm

在這裏插入圖片描述
測試成功後,點【繼續】安裝。

9.羣集設置

可以根據自己的實際情況更改設置,本文采用默認配置。這些配置也可以在集羣安裝完成後再更改。
在這裏插入圖片描述

10.開始安裝

在這裏插入圖片描述
在這裏插入圖片描述
安裝過程沒有任何錯誤,顯示安裝完成。

11.安裝完成

第一次安裝完成後,會出現一些配置的警告信息。這些可以根據提示信息更改。
在這裏插入圖片描述

四、常見錯誤

4.1.初始化數據庫錯誤
在這個環節,出現的問題較多,但總的來說,是與數據庫參數配置,和帳號權限配置有關。
如在執行scm_prepare_database.sh腳本時,出現的錯誤:
java.sql.SQLException: Your password does not satisfy the current policy requirements
一般是由密碼策略級別問題引發:
可以通過my.cnf配置文件關閉 validate_password 插件。
通過修改/etc/my.cnf目錄下配置文件,修改設置密碼策略的級別,只需要在[mysqld]下添加一行

validate_password = off

如圖所示:
在這裏插入圖片描述
編輯完配置文件後,重啓mysqld服務即可生效。

2.未能連接到 Host Monitor

在這裏插入圖片描述
後臺tail -f /opt/cm-5.13.1/log/cloudera-scm-server/cloudera-scm-server.log 日誌報錯信息:
com.cloudera.cmon.MgmtServiceLocatorException: Could not find a HOST_MONITORING nozzle from SCM.
此問題原因\由文件句柄數限制引起,在主節點上,修改/opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini文件:

//查看文件句柄數,顯示1024,顯然太小
# ulimit -n 
1024
//修改限制
#vi /etc/security/limits.conf 
//在文件後加入下面內容:

* soft nofile 100000
* hard nofile 100000

此步驟需要重啓機器生效,可以設置完後再重啓。
注:按照上面過程操作,若問題依然存在,可以通過用3.4節中 “主機運行狀態不良”故障問題解決辦法,問題得到解決。

3.後端服務器報錯

在這裏插入圖片描述

解決方案:安裝psmisc
yum  install psmisc
4.hue啓動報錯

在這裏插入圖片描述

需要安裝:
yum install httpd mod_ssl
6初始化hive和oozie元數據庫報錯

在這裏插入圖片描述

解決方法:
(1)數據庫驅動放置到lib目錄,並帶版本號,
#cp mysql-connector-java-5.1.43-bin.jar  /opt/cm-5.13.1/share/cmf/lib/
#chmod  777 /opt/cm-5.13.1/share/cmf/lib/mysql-connector-java-5.1.43-bin.jar
(2)權限授權:後端授權777
7.缺少 rpcbind包

Please start portmap or rpcbind service before attempting to start the NFS Gateway role on this host.’
解決方法:Yum安裝rpcbind包

8.通過hue連接hive數據庫報錯

在這裏插入圖片描述
缺少相關包或依賴

yum install cyrus-sasl-plain  cyrus-sasl-devel  cyrus-sasl-gssapi
yum install apache-maven ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi gcc gcc-c++ krb5-devel libxml2-devel libxslt-devel make mysql mysql-devel openldap-devel python-devel sqlite-devel gmp-devel
   再通過cdh重啓hue
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章