環境準備
環境系統: CentOS Linux release 7.3.1611 (Core)
java:
三個節點:
192.168.1.222 cdh01
192.168.1.223 cdh02
192.168.1.224 cdh03
前期準備
配置靜态IP
vi /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet
BOOTPROTO=static
DEVICE=ens192
ONBOOT=yes
IPADDR=192.168.1.222
NETMASK=255.255.252.0
GATEWAY=192.168.1.1
DNS1=192.168.2.99
DNS2=192.168.2.98
重新啟動網卡
service network restart
修改主機名
hostnamectl set-hostname cdh01 # 使用這個指令會立即生效且重新開機也生效
hostname # 檢視主機名
hosts檔案主機名與IP位址映射
vi /etc/hosts

關閉防火牆
systemctl status firewalld.service # 檢視防火牆狀态
systemctl stop firewalld.service # 停止防火牆
systemctl disable firewalld.service # 禁止防火牆開機啟動
禁用SELinux
vi /etc/selinux/config
SELINUX=disabled
關閉swap
swapoff -a
關閉透明大頁面
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
之後将操作加入
vim /etc/rc.local
然後執行指令
grub2-mkconfig -o /boot/grub2/grub.cfg
然後重新啟動
cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag
vim /etc/default/grub
GRUB_CMDLINE_LINUX後添加一個參數transparent_hugepage=never
修改前
修改後
然後執行指令 grub2-mkconfig -o /boot/grub2/grub.cfg
然後重新啟動
cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag
修改swappiness(必須以root使用者登入)
echo “vm.swappiness=1” >> /etc/sysctl.conf # 永久修改
sysctl -p` # 檢視
重新開機虛拟機
reboot
配置免密登入
ssh-copy-id -i .ssh/id_rsa.pub [email protected]
或者用以下方法手動免密,
在使用者目錄下執行 ssh-keygen -t rsa
在其他節點同樣執行此操作
切換到.ssh/目錄下
cd .ssh/
然後把密鑰檔案重命名,并且複制到cdh01(主節點)的.ssh/目錄下,其他節點類似
mv id_rsa.pub 2id_rsa.pub
scp 2id_rsa.pub [email protected]:/home/gwnet/.ssh/
在主節點上的.ssh/目錄下檢視,并且把3個節點上的密鑰檔案寫到authorized_keys,再複制到其他2個節點上
檢視authorized_keys,并給authorized_keys檔案授權cat authorized_keys
chmod 600 authorized_keys
複制到另外2個節點上
scp authorized_keys cdh01:/root/.ssh/
在另外2個節點上同樣需要授權
chmod 600 authorized_keys
測試連接配接(此時切換到其他節點就不需要再輸入密碼了)
安裝JDK
-
建立jdk的目錄,并解壓
mkdir /usr/java
tar -xf jdk-8u161-linux-x64.tar.gz -C /usr/java
-
配置環境變量
vim /etc/profile
set java
export JAVA_HOME=/usr/java/jdk1.8.0_161
export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib: J R E H O M E / l i b e x p o r t P A T H = . : {JRE_HOME}/lib export PATH=.: JREHOME/libexportPATH=.:{JAVA_HOME}/bin:$PATH
####################################################
cat >> /etc/profile <<EOF
set java
export JAVA_HOME=/usr/java/jdk1.8.0_161
export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib: J R E H O M E / l i b e x p o r t P A T H = . : {JRE_HOME}/lib export PATH=.: JREHOME/libexportPATH=.:{JAVA_HOME}/bin:$PATH
EOF
####################################################
source /etc/profile
3. 驗證jdk是否安裝成功
java -version
安裝ntp服務
yum install -y ntp
主節點配置
從節點配置
啟動ntp伺服器
systemctl start ntpd.service
設定開機自啟
systemctl enable ntpd.service
安裝mysql資料庫(主節點cdh01配置)
- 上傳資料庫安裝包
-
解除安裝系統中自帶的資料庫
rpm -qa | grep -i mar #檢視系統自帶的mysql安裝包
rpm -ev mariadb-libs-5.5.52-1.el7.x86_64 --nodeps # 解除安裝系統自帶的安裝包
-
安裝mysql
依次安裝mysql安裝包
rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm
這個包以後會用到
rpm -ivh mysql-community-libs-compat-5.7.31-1.el7.x86_64.rpm
如果出現下面錯誤
警告:mysql-community-server-5.7.23-1.el7.x86_64.rpm: 頭V3 DSA/SHA1 Signature, 密鑰 ID 5072e1f5: NOKEY
錯誤:依賴檢測失敗:
net-tools 被 mysql-community-server-5.7.23-1.el7.x86_64 需要
yum install net-tools
4. 啟動mysql服務
systemctl start mysqld.service
5. 修改密碼并設定遠端連結
grep ‘password’ /var/log/mysqld.log # 檢視原始密碼
修改初始密碼及授權遠端通路:
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘[email protected]’;
grant all privileges on . to ‘root’@’%’ identified by ‘[email protected]’ with grant option;
flush privileges;
-
建立資料庫
create database cmf DEFAULT CHARACTER SET utf8;
create database amon DEFAULT CHARACTER SET utf8;
grant all on cmf.* TO ‘cmf’@’%’ IDENTIFIED BY ‘Ruozedata123456!’;
grant all on amon.* TO ‘amon’@’%’ IDENTIFIED BY ‘Ruozedata123456!’;
flush privileges;
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
安裝 cloudera Manager
cloudera Manager 5.15.1下載下傳位址
解壓cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz(主節點cdh01 begin)。預設解壓到/opt目錄,如果解壓到其他目錄,安裝時需要重新開機。
tar -xf cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz -C /opt
上傳mysql依賴包
cp /root/mysql-connector-java-5.1.38.jar /opt/cm-5.15.1/share/cmf/lib/
為了後面出錯提前把檔案複制
初始化資料庫
/opt/cm-5.15.1/share/cmf/schema/scm_prepare_database.sh mysql -hlocalhost -uroot [email protected] --scm-host localhost scm scm [email protected]
修改agent的配置檔案
将/opt/cm-5.15.1/etc/cloudera-scm-agent/config.ini中的server_host修改為主節點的主機名。
####################生産環境中主機名一般由客戶指定,不要貿然填寫cdh01##################
sudo vim /opt/cm-5.15.1/etc/cloudera-scm-agent/config.ini
将/opt/ cm-5.15.1複制到其他節點上/opt目錄(主節點cdh01 end)
scp -rp /opt/cm-5.15.1/ cdh02:/opt/
scp -rp /opt/cm-5.15.1/ cdh03:/opt/
建立使用者 cloudera-scm 使用者 (所有節點)
useradd --system --home=/opt/cm-5.15.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment “Cloudera SCM User” cloudera-scm
修改權限
在/opt目錄下執行(所有節點)
chown -R cloudera-scm:cloudera-scm *
将cdh的parcel包移動到/opt/cloudera/parcel-repo/(主節點cdh01)
CDH安裝包下載下傳位址
将上傳的安裝包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,如下圖所示
注意包支援的系統看清楚是否是el7
啟動server和agent
啟動server
/opt/cm-5.15.1/etc/init.d/cloudera-scm-server start(主節點cdh01)
啟動server時報錯
上面的錯誤資訊隻需要安裝pstree即可
yum install psmisc -y
檢視server的狀态,如果不是running,
ps -ef|grep supervisor
殺掉程序
[root@***** ~]# /data/cm-5.15.1/etc/init.d/cloudera-scm-server status
cloudera-scm-server (pid 415532) is running…
安裝對應的依賴
安裝如需下圖所示的軟體包,否則在後面CM界面安裝時會出現以下錯誤:
hue Unexpected error. Unable to verify database connection
需要安裝的rpm包:libxslt-1.1.28-5.el7.x86_64.rpm 和 python-lxml-3.2.1-4.el7.x86_64.rpm
啟動agent
在三台機器上分别執行 /opt/cm-5.15.1/etc/init.d/cloudera-scm-agent start(所有節點)
檢視server的狀态,如果不是running,
ps -ef|grep supervisor
殺掉程序
[root@***** ~]# /data/cm-5.15.1/etc/init.d/cloudera-scm-server status
cloudera-scm-server (pid 415532) is running…
啟動完成agent和server之後查詢7180端口有沒有啟動
netstat -lnp |grep 80(所有節點)
通路http://192.168.1.222:7180
輸入預設使用者名admin 和 密碼admin
繼續下一步
建議選擇免費版
繼續下一步
輸入安裝cdh的各個節點IP或者主機名
選擇你上傳的Parcel包,這裡選擇CDH-5.15.1
如果沒有找到安裝包,如更改解壓位置,不是/opt目錄,點選更多選項,把/opt改為指定位置,重新開機生效
如果出現以下報錯,你的安裝包支援的系統錯誤,
檢視這裡與你的安裝包是否對應
繼續下一步
繼續下一步(遇到警告的根據提示解決)
我這裡選擇含Hbase的核心,根據自己實際情況選擇,我們通常選自定義服務,選zookeeper、yarn、hdfs就夠用了
我這裡預設,根據實際情況選擇
然後下一步
出現此問題是因為缺少mysql-connector-java-5.1.38.jar,連結不上資料庫
hue連結不上mysql錯誤日志資訊:
解決方案是在安裝mysql的時候安裝 mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm
預設
等待步驟安裝完成
如果出現報錯一直往下點,檢視詳細日志,如圖所示,8086端口和60020端口被占用,可以嘗試kill – 9強制殺死程序,若程序會自動啟動,yum安裝直接systemctl直接關閉,編譯安裝,通過find查找安裝路徑,通過指令關閉,不熟悉的服務百度;
netstat -lntp|grep 60020
kill -9 26367
find / -name gse*
/usr/local/gse/agent/bin/gsectl stop
繼續下一步
oozie的連結需要mysql-connector-java-5.1.38.jar
到這裡,叢集基本上安裝完成了
注意: 添加 hive 不要忘記添加驅動哦
cp /root/cdh5.16.1/mysql-connector-java-5.1.47.jar /opt/cloudera/parcels/CDH-5.16.1-1.cdh5.16.1.p0.3/lib/hive/lib/
儲存到我的筆記