service cloudera-scm-server status
/opt/cloudera/cm/lib? ? 下添加mysql驅(qū)動
CDH 添加監(jiān)控
http://cdh-dev1:7180/cmf/home
選擇?添加 Cloudera Management Service
JAVA環(huán)境變量配置好,但是CDH無法識別,報錯NO JDK
find / -name cloudera-config.sh
配置在這里: cat? /opt/cm-5.13.2/lib64/cmf/service/common/cloudera-config.sh
其中可以看到:
local JAVA8_HOME_CANDIDATES=(
'/usr/java/jdk1.8'
'/usr/java/jre1.8'
'/usr/lib/jvm/j2sdk1.8-oracle'
'/usr/lib/jvm/j2sdk1.8-oracle/jre'
'/usr/lib/jvm/java-8-oracle'
)
于是,建立一個已經(jīng)有的JAVA_HOME ?鏈接到?/usr/java/jdk1.8 就好了!? jdk實際安裝在/usr/local/java/jdk1.8.0_111/下
ln -s /usr/java/jdk1.8/ /usr/local/java/jdk1.8.0_111/
安裝中遇到的問題1:CDH5.13.0的hue的load balance紅色警報,無法啟動

查看日志根本沒有生成

解決方案:
yum install?httpd?
yum install?mod_ssl
安裝中遇到的問題1:安裝hue時報錯
查看cm-server的log信息,報錯如下
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb
module: libmysqlclient.so.18: cannot open shared object file: No such
file or directory
解決方案:
因為centos7自帶mariaDB,需要刪除,在刪除mariaDB的時候,只需要在一臺機(jī)器上刪除即可。
從未刪除mariaDB的機(jī)器上的 /usr/lib64/mysql文件夾下拷貝libmysqlclient.so.18到安裝了mysql的機(jī)器上的
/usr/lib64/mysql文件夾下, 然后做軟連接
ln -s /usr/lib64/mysql/libmysqlclient.so.18.0.0 /usr/lib64/libmysqlclient.so.18
安裝環(huán)境
系統(tǒng)配置:
系統(tǒng):centos 7 最小安裝版 64位
內(nèi)存:10G 10G 10G 8G
四臺機(jī)器組成小集群(物理機(jī))
CDH-DEV1 CDH-DEV2 CDH-DEV3 CDH-DEV4
需要下載的安裝包
cloudera-manager-centos7-cm5.13.0_x86_64.tar.gz
注意下載相應(yīng)系統(tǒng)的安裝包
CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel
CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha1
manifest.json
jdk-8u144-linux-x64.tar.gz
mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
mysql-connector-java-5.1.44-bin.jar
Installing Cloudera Manager and CDH
注意所有操作都需要使用root權(quán)限操作
基本配置(所有節(jié)點)
修改 /etc/hostname
CDH-DEV1
修改 /etc/hosts,此處一定要注意,不要按照網(wǎng)上有的說明,將127.0.0.1那一行里的localhost.localdomain改成主機(jī)名稱,在安裝Cloudera Agent的時候會識別不出名稱和IP
修改 /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=CDH-DEV1
Java環(huán)境(所有節(jié)點)
下載jdk-8u144-linux-x64.tar.gz
解壓到/usr/java(可根據(jù)個人習(xí)慣創(chuàng)建目錄)
tar xzvf jdk-8u144-linux-x64.tar.gz
配置環(huán)境變量
[root@CDH-DEV1 .ssh]# vim /etc/profile #在文件末尾添加下面三行
export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
[root@CDH-DEV1 .ssh]# source /etc/profile #使生效
SSH無密碼登錄(集群內(nèi)節(jié)點能夠互相無密碼訪問)
思路:第一臺機(jī)器配置authorized_keys,scp到第二臺機(jī)器,將第二臺機(jī)器的公鑰添加到authorized_keys,然后將其scp到第三臺,以此類推,直到配置到最后一臺機(jī)器,將最后一臺機(jī)器的authorized_keys scp到所有節(jié)點,如下
1)在主節(jié)點(CDH-DEV1)執(zhí)行? 免密登錄步驟錯誤 待改
[root@CDH-DEV1 .ssh]# ssh-keygen -t rsa
[root@CDH-DEV1 .ssh]# cat id_rsa.pub >> authorized_keys
[root@CDH-DEV1 .ssh]# chmod 600 authorized_keys
[root@CDH-DEV1 .ssh]# scp authorized_keys root@CDH-DEV2:~/.ssh
2)在CDH-DEV2執(zhí)行
[root@CDH-DEV2 .ssh]# ssh-keygen -t rsa
[root@CDH-DEV2 .ssh]# cat id_rsa.pub >> authorized_keys
[root@CDH-DEV2 .ssh]# chmod 600 authorized_keys
[root@CDH-DEV2 .ssh]# scp authorized_keys root@CDH-DEV3:~/.ssh
3)在CDH-DEV3執(zhí)行
[root@CDH-DEV3 .ssh]# ssh-keygen -t rsa
[root@CDH-DEV3 .ssh]# cat id_rsa.pub >> authorized_keys
[root@CDH-DEV3 .ssh]# chmod 600 authorized_keys
[root@CDH-DEV3 .ssh]# scp authorized_keys root@CDH-DEV4:~/.ssh
4)在CDH-DEV4執(zhí)行
[root@CDH-DEV4 .ssh]# ssh-keygen -t rsa
[root@CDH-DEV4 .ssh]# cat id_rsa.pub >> authorized_keys
[root@CDH-DEV4 .ssh]# chmod 600 authorized_keys
[root@CDH-DEV4 .ssh]# scp authorized_keys root@CDH-DEV1:~/.ssh
[root@CDH-DEV4 .ssh]# scp authorized_keys root@CDH-DEV2:~/.ssh
[root@CDH-DEV4 .ssh]# scp authorized_keys root@CDH-DEV3:~/.ssh
安裝MySQL(主節(jié)點安裝即可)
安裝步驟:
(1)此處需要注意的是centos 7 默認(rèn)安裝的是mariadb,如果不卸載直接安裝的話會報錯,報錯信息mariadb-libs is obsoleted by mysql-community-libs-5.7.9-1.el7.x86_64
rpm -qa | grep mariadb #查看安裝信息
rpm -e mariadb-libs* --nodeps #根據(jù)查找到的軟件包信息卸載
(2)安裝MySQL(必須按以下順序安裝) 按照此法無法安裝
rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.9-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.9-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.9-1.el7.x86_64.rpm
(3)基本設(shè)置
service mysqld start #啟動服務(wù)
vim /var/log/mysqld.log? #查看初始密碼
mysql -uroot -p? #登錄
set password = password('test01.') #設(shè)置密碼? 密碼要
#授權(quán)用戶root使用密碼passwd從任意主機(jī)連接到mysql服務(wù)器
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'passwd' WITH GRANT OPTION;
flush privileges;
MYSQL 5.7 密碼要復(fù)雜
GRANT ALL PRIVILEGES ON *.* TO 'scm'@'%' IDENTIFIED BY 'passwd' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'scm'@'localhost' IDENTIFIED BY 'passwd' WITH GRANT OPTION;
flush privileges;
(4)建數(shù)據(jù)庫(用于后邊組件安裝)
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
關(guān)閉防火墻(所有節(jié)點)
centos 7 默認(rèn)使用的是firewall,不是iptables
systemctl stop firewalld.service
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機(jī)啟動
systemctl mask firewalld.service? #
關(guān)閉SELinux(所有節(jié)點)
[root@CDH-DEV1 .ssh]# vim /etc/selinux/config
設(shè)置SELINUX=disabled
配置NTP服務(wù)(所有節(jié)點)
安裝
[root@CDH-DEV1 .ssh]# yum install ntp
設(shè)置開機(jī)啟動
[root@CDH-DEV1 .ssh]# chkconfig ntpd on
同步時間
ntpdate pool.ntp.org
服務(wù)啟動
[root@CDH-DEV1 .ssh]# service ntpd start
查看時間同步狀態(tài)
ntpstat
所有節(jié)點上創(chuàng)建用戶
useradd --system --home=/opt/cm-5.13.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
安裝Cloudera Manager Server 和Agent
(1)將下載好的cloudera-manager-centos7-cm5.13.0_x86_64.tar.gz解壓到主節(jié)點的/opt/,解壓出來的文件夾為cloudera與cm-4.13.0
(2)為Cloudera Manager建立數(shù)據(jù)庫,此處需要前邊下載好的mysql-connector-java-5.1.44-bin.jar
scp mysql-connector-java-5.1.44-bin.jar root@CDH-DEV1:/opt/cm-5.13.0/share/cmf/lib/
scp mysql-connector-java-5.1.44-bin.jar root@CDH-DEV1:/usr/share/java/
/opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql -uroot -p scm scm
(3)配置Agent
vim opt/cm-5.1.3/etc/cloudera-scm-agent/config.ini
server_host=CDH-DEV1
#拷貝到其他節(jié)點
[root@CDH-DEV1 parcel-repo]# scp -r /opt/cm-5.13.0/ root@cdh-dev2:/opt/
[root@CDH-DEV1 parcel-repo]# scp -r /opt/cm-5.13.0/ root@cdh-dev3:/opt/
[root@CDH-DEV1 parcel-repo]# scp -r /opt/cm-5.13.0/ root@cdh-dev4:/opt/
(4)準(zhǔn)備parcels,將CDH相關(guān)文件拷貝到主節(jié)點/opt/cloudera/parcel-repo/
#相關(guān)文件?
CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel
CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha1
manifest.json
#操作
scp mysql-connector-java-5.1.44-bin.jar root@CDH-DEV1:/opt/cm-5.13.0/share/cmf/lib/
scp mysql-connector-java-5.1.44-bin.jar root@CDH-DEV1:/usr/share/java/
需要將CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha1改成CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha,否則安裝時會重新下載,很重要?。?/p>
[root@CDH-DEV1 parcel-repo]# mv CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha1 CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha
(5)啟動
#主節(jié)點
/opt/cm-5.13.0/etc/init.d/cloudera-scm-server start
#主節(jié)點及其他節(jié)點
/opt/cm-5.13.0/etc/init.d/cloudera-scm-agent start
啟動需要點時間,可以查看數(shù)據(jù)庫scm中的hosts表,如果里面出現(xiàn)節(jié)點信息表示server啟動完成
2. 開始安裝Hadoop集群
登錄界面,默認(rèn)登錄用戶名和密碼都是admin
選擇安裝版本
為CDH群集安裝指定主機(jī)
此處是在當(dāng)前管理的主機(jī)里選擇機(jī)器,不要在新主機(jī)里查找,另外這個地方顯示的主機(jī)信息一定要對,我開始的時候因為主機(jī)名配置出問題,導(dǎo)致無法識別主機(jī)名稱和IP,雖然agent的uuid是分配到了四臺機(jī)器上,但是后邊的安裝無法進(jìn)行。
群集安裝
群集安裝--安裝指定parcel
分配時間受帶寬影響,我的是千兆交換機(jī)組成的局域網(wǎng),速度還可以,應(yīng)該不到十分鐘
檢查主機(jī)正確性
第一個警告直接在所有節(jié)點上執(zhí)行echo 10 > /proc/sys/vm/swappiness
第二個警告按照上面的說明,在所有節(jié)點上執(zhí)行這兩條命令
echo never > /sys/kernel/mm/transparent_hugepage/defrag >> /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/enabled >> /etc/rc.local
群集設(shè)置--選擇安裝服務(wù)--按需選擇
群集設(shè)置--自定義角色--默認(rèn)即可
群集設(shè)置--數(shù)據(jù)庫設(shè)置
此處hue老出問題,一直解決不了,為了整條線走下去,而且目測hue基本用不到,所以選擇了放棄安裝hue.
貼一下網(wǎng)上找的幾個解決方法,我都試了,沒有解決,不知道什么問題,以后研究研究
缺少mysql-community-libs-compat-5.7.20-1.el7.x86_64.rpm
缺少python-lxml,yum install python-lxml
群集設(shè)置--審查--默認(rèn)即可
群集設(shè)置--首次設(shè)置--默認(rèn)即可
開始安裝服務(wù)
此處hive ,oozie會安裝失敗,失敗信息如下。因為我們使用了MySQL作為hive元數(shù)據(jù)存儲,需要將mysql驅(qū)動拷貝到hive和oozie目錄下
解決方法(需要在所有節(jié)點上執(zhí)行)
cp /opt/cm-5.13.0/share/cmf/lib/mysql-connector-java-5.1.44-bin.jar /opt/cloudera/parcels/CDH-5.13.0-1.cdh5.13.0.p0.29/lib/hive/lib/
cp /opt/cm-5.13.0/share/cmf/lib/mysql-connector-java-5.1.44-bin.jar /var/lib/oozie/? ? ?
安裝完成
數(shù)據(jù)庫配置
問題描述:開始給Cloudera Manager配置數(shù)據(jù)庫的時候,找的是網(wǎng)上的命令,/opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p --scm-host localhost scm scm scm,一直報錯,不知道什么問題,報錯信息java.sql.SQLException: Your password does not satisfy the current policy requirements,各種改密碼復(fù)雜度及降低數(shù)據(jù)庫密碼復(fù)雜度要求都不行,懷疑是CDH版本更新命令參數(shù)發(fā)生了變化
解決方法,去掉部分參數(shù),
/opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql -uroot -p scm scm
cloudera-scm-server啟動,cm-5.13.0/etc/init.d/cloudera-scm-server:行109: pstree: 未找到命令,centos最小安裝版缺少軟件包,安裝即可,yum install psmisc
中途安裝失敗,重新安裝
關(guān)閉所有服務(wù)
#主節(jié)點
[root@CDH-DEV1 opt]# /opt/cm-5.13.0/etc/init.d/cloudera-scm-server stop
#主節(jié)點及其他節(jié)點
[root@CDH-DEV1 opt]# /opt/cm-5.13.0/etc/init.d/cloudera-scm-agent stop
刪除agent uuid
rm -rf /opt/cm-5.13.0/lib/cloudera-scm-agent/*
刪除數(shù)據(jù)庫scm
重新配置數(shù)據(jù)庫
/opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql -hlocalhost -uroot -p scm scm
啟動Cloudera server和agent,按照之前步驟安裝即可
Installing Cloudera Manager and CDH