Cloudera Manager及CDH版本安裝全程記錄
大家都知道,Apache Hadoop的配置很繁瑣,而且很零散,為此Cloudera公司提供了Clouder Manager工具,而且還封裝了Apache Hadoop,flume,spark,hive,hbase等大資料産品形成自己特色的CDH産品,再使用CM進行安裝,很大程度上友善了叢集的搭建,并提供了叢集的監控功能。
【之前已經搭建過HDP大資料平台,連結:https://blog.csdn.net/weixin_38822045/article/details/96129623】
第一步:準備工作
一、3台伺服器,硬碟實際情況選擇,測試環境記憶體建議大于16G
伺服器IP | hostname |
192.168.1.122 | cdh-001 |
192.168.1.123 | cdh -002 |
192.168.1.124 | cdh -003 |
二、軟體安裝包選擇
作業系統 | 版本号 |
Centos | 7.0 |
Cloudera-Manager | 5.15.2 |
CDH | 5.15.2 |
MySql | 5.7.0 |
Jdk | 1.8.0 |
三、Cloudera-Manager的版本選擇(所有節點)
http://archive.cloudera.com/cm5/cm/5/
說明:EL是Red Hat Enterprise Linux的簡寫
- EL5軟體包用于在Red Hat 5.x, CentOS 5.x, CloudLinux 5.x的安裝
- EL6軟體包用于在Red Hat 6.x, CentOS 6.x, and CloudLinux 6.x進行安裝
- EL7 軟體包用于在Red Hat 7.x, CentOS 7.x, and CloudLinux 7.x的安裝
本人下載下傳:cloudera-manager-centos7-cm5.15.2_x86_64.tar.gz
四、cdh的版本選擇,此處大版本選擇5
連結為:http://archive.cloudera.com/cdh5/parcels/5.15.2/
本人下載下傳:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPR5EMBpWT5dGRPpHOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLzAjNyQzMxAjMxIDMxkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
五、準備工作
1)、關閉防火牆(3台伺服器都操作)
systemctl stop firewalld
systemctl disable firewalld
1.1)、關閉selinux
修改配置檔案vi /etc/selinux/config(重新開機生效 reboot)
将selinux=enforcing
改為selinux=disabled
2)、設定主機名(3台伺服器都操作,名稱不同,分别cdh-001,cdh-002,cdh-003)
hostnamectl set-hostname cdh-001
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=cdh-001
NETWORKING_IPV6=no
3)、配置host檔案(3台伺服器都操作)
vi /etc/hosts 根據自己的ip 進行相應配置
192.168.1.122 cdh-001
192.168.1.123 cdh-002
192.168.1.124 cdh-003
配置完之後,可以在同一台機器上ping 不同的域名,檢視是否有響應.表明配置成功
4) 、配置伺服器之間免密登入(3台伺服器)
檢查linux 是否安裝ssh: rpm -qa|grep ssh
若沒有則執行: yum install ssh
ssh 服務是否開啟 systemctl status sshd.service若ssh 服務,關閉則開啟服務:systemctl start sshd.service
制作叢集的SSH免密碼登入
在三台伺服器按順序執行一遍(cdh-001,cdh-002,cdh-003順序執行)
ssh-keygen -t rsa (一直回車)
ssh-copy-id cdh-001
ssh-copy-id cdh-002
ssh-copy-id cdh-003
5)、設定linux系統的時間(3台伺服器)
NTP時間伺服器下載下傳 參考部落格6.2
https://blog.csdn.net/weixin_38822045/article/details/96129623
——————————————————————————————————————————————————————————————————————————————————
檢視時區
date
修改時區為上海CST
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改時間為windows系統時間
ntpdate time.windows.com
6)、設定最大能打開檔案數目、程序數和記憶體(3台伺服器)
vi /etc/security/limits.conf
* soft nofile 32728
* hard nofile 1029345
* soft nproc 65536
* hard nproc unlimited
* soft memlock unlimited
* hard memlock unlimited
7)、配置hadoop 使用者 sudoer 權限(3台伺服器)
vi /etc/sudoers
找到 root ALL=(ALL) ALL 這一行,
然後在他下面添加一行:
hadoop ALL=(ALL) ALL
儲存,退出
wq!
六、檢查安裝jdk(3台伺服器都操作),和MySql服務
Centos7預設活預設安裝JDK和MySql,需要将官方自帶的給解除安裝,然後重裝
1)、解除安裝現有JDK
查詢是否安裝Java軟體:
rpm -qa | grep java
一次性全部解除安裝
rpm -e --nodeps $(rpm -qa | grep java)
2)、安裝JDK(3台伺服器)
tar -zxvf jdk-8u191-linux-x64.tar.gz -C /usr/java/
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_191
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
此處有大坑,建議裝在我的位置 /usr/java目錄下
因為有些元件,環境變量裡面找jdk,而是跑到了 /usr/java/default 這個目錄下去找jdk,所有報錯說沒有找到JAVA_HOME,是以需要在/usr/java目錄下建立JDK
3)、解除安裝,重裝MySql服務(操作詳情見下連結)
https://blog.csdn.net/weixin_38822045/article/details/91447250
進入Mysql配置(後續有用)
CREATE USER 'temp'@'localhost' IDENTIFIED BY 'temp';
grant all privileges on *.* to 'temp'@'%' identified by 'temp' with grant option;
grant all privileges on *.* to 'temp'@'cdh-001' identified by 'temp' with grant option;
flush privileges;
七、CDH軟體的安裝
1)、建立安裝目錄(3個節點)
[[email protected] ~] mkdir -p /opt/cloudera-manager
[[email protected] ~] mkdir -p /opt/cloudera-manager
[[email protected] ~] mkdir -p /opt/cloudera-manager
tar -zxvf cloudera-manager-centos7-cm5.15.2_x86_64.tar.gz -C /opt/cloudera-manager/
修改config.ini檔案(3個節點)表示server服務在cdh-001伺服器
cd /opt/cloudera-manager/cm-5.15.2/etc/cloudera-scm-agent
vi config.ini
修改server_host=cdh-001
建立CM使用者(隻需要Server,cdh-001伺服器執行即可)
在 CM的server節點上(這裡是 cdh-001)找到下面目錄下的腳本
[[email protected] schema]# cd /opt/cloudera-manager/cm-5.15.2/share/cmf/schema
[[email protected] schema]# ./scm_prepare_database.sh mysql -h cdh-001 -utemp -ptemp --scm-host cdh-001 scm scm scm
注意:這裡的temp是在安裝mysql後面那裡就設定好的
第一個:cdh-001:MySQL 的安裝位置
第二個:cdh-001:CM server 服務的位置
temp temp 是mysql建立完畢後授權的那步操作
報錯:(不要慌)
缺少 mysql-connector-java.jar 驅動包(下載下傳位址)
連結:https://pan.baidu.com/s/1bKdtYHzg2VS-xAJJwOp1rg&shfl=sharepset
提取碼:npri
需要把Mysql的驅動包拷貝到/usr/share/java 目錄下(server的伺服器下,備注:如果出現java不是檔案檔案夾,删除自己建立)
注意要把jar包名稱重命名為 mysql-connector-java.jar
再次執行上述指令(同下)
[[email protected] schema]# cd /opt/cloudera-manager/cm-5.15.2/share/cmf/schema
[[email protected] schema]# ./scm_prepare_database.sh mysql -h cdh-001 -utemp -ptemp --scm-host cdh-001 scm scm scm
八、配置CDH服務源
1)、找到相應的源并下載下傳:http://archive.cloudera.com/cdh5/parcels/5.15.2/
CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel
CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel.sha1
同時重命名
mv CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel.sha1 CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel.sha
2)、建立檔案夾(3個節點都執行)
[[email protected] ~] mkdir -p /opt/cloudera/parcel-repo/
[[email protected] ~] mkdir -p /opt/cloudera/parcels/
Server伺服器(cdh-01)中 :把上面的兩個源放在/opt/cloudera/parcel-repo/
Agent伺服器(cdh-02,cdh-03):把上面這兩個源放在/opt/cloudera/parcels/
3)、建立CDH内部使用者(3個節點都執行)
useradd --system --home=/opt/cloudera-manager/cm-5.15.2/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
4)、修改使用者所屬
(按照下面的代碼執行即可)
[[email protected] cloudera]# cd /opt/cloudera 所有節點執行
[[email protected] cloudera]# chgrp cloudera-scm parcel-repo/ 所有節點執行
[[email protected] cloudera]# chown cloudera-scm parcel-repo/ 所有節點執行
所有 agent 節點執行:chown -R cloudera-scm:cloudera-scm /opt/cloudera/
九、開始啟動Cloudera Manager Server服務
必須:Mysql一定要保證啟動
a)、去CM提供服務的cdh-001伺服器下執行
[[email protected] ~]# cd /opt/cloudera-manager/cm-5.15.2/etc/init.d
[[email protected] init.d]# ./cloudera-scm-server start
Starting cloudera-scm-server: [ OK ]
備注:如果報錯,./cloudera-scm-server:行109: pstree:
請安裝 : yum -y install psmisc
檢視 server 的啟動日志檔案,狀态
[[email protected] init.d]# cd /opt/cloudera-manager/cm-5.15.2/log/cloudera-scm-server
[[email protected] cloudera-scm-server]# tail -f cloudera-scm-server.log
如果日志沒有錯誤,就使用jps,檢視是否有main程序,如果有即啟動成功
b)、啟動Agent(3節點都執行)
[[email protected] ~]# cd /opt/cloudera-manager/cm-5.15.2/etc/init.d
[[email protected] init.d]# ./cloudera-scm-agent start
Starting cloudera-scm-agent: [ OK ]
檢視 agent 的啟動日志檔案,狀态,進行查錯
[[email protected] ~]# cd /opt/cloudera-manager/cm-5.15.2/log/cloudera-scm-agent
[[email protected] cloudera-scm-agent]# tail -f cloudera-scm-agent.log
十、登入Cloudera Manager管理界面,進行配置安裝
登陸頁面:http://cdh-001:7180/cmf/login [本地host需要映射hostname]
登陸用戶名和密碼:預設為admin
2)、選擇版本
點選繼續,看下圖,發現隻有一個節點,說明隻有001節點的Agent啟動了,餘下的全都失敗,檢視日志發現,問題本人少修改了
第七步 config.ini的配置檔案,部落客隻修改了第一台伺服器,002,003沒有修改,導緻出錯..........
解決【第七步config.ini 配置所有伺服器都要操作,部落客操作是漏掉了】
操作完畢後,重新開機002,003節點(所有節點都出來了)全選所有節點,點選繼續
下面一張圖,本部落客沒截圖,網上找的一張圖檔(見諒)
選擇CDH版本時,選擇我們之前已經上傳上去的版本
選擇自定義
安裝完CDH後,CDH Manager一般會提示使用者需要做一些Linux系統層面的優化
詳情請參考Cloudera官方網址:https://www.cloudera.com/documentation/enterprise/latest/topics/cdh_admin_performance.html
自定義選擇,在初次安裝的時候,本部落客建議,就選擇基礎元件,hdfs,hbase,hive,zookeeper,yarn幾個元件,防止安裝太多,整體服務無法啟動。就相當尴尬了,元件、角色配置設定,盡量讓角色均衡地配置設定到所有主機上,以減少某一台主機的壓力
叢集資料連接配接配置修改,先要建立下列所需要用的資料庫,看需求自己建立,使用者和密碼也可以使用root,root
create database hive character set utf8;
CREATE USER 'hive'@'%' IDENTIFIED BY 'hive-1234';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES;
測試連接配接,如果不成功,大部分都是Mysql驅動為設定,檢視上文即可.........
下圖所示,隻需要将資料存儲目錄挂載到最大盤,即可,避免hdfs硬碟不夠問題,餘下最好不動
如上圖展示,所有需要基礎元件已經可以了使用了,後續警告就是些配置問題,需要自己修改配置,後續需要更多元件可以自己添加
自行選擇,建議元件一個一個的添加,避免集體出錯.........通路50070進行檢視
最後需要啟動Hdfs的高可用,部落客沒有截圖,
參考部落格:https://www.cnblogs.com/yinzhengjie/articles/10431177.html
安裝時間同步服務,參考部落客搭建HDP大資料平台部落格:https://blog.csdn.net/weixin_38822045/article/details/96129623 【6.2、設定ntpd自動啟動,所有機器(時間同步服務)】
切記
安裝大資料平台初期,最好先給足資源配置,切勿開始資源不夠,後續在擴容,因為CDH平台會更具第一次資源安裝的時候,進行資源配置設定,所有配置都免不用手動配置設定,都是系統配置設定,但是後續擴容,CDH平台配置沒有動态擴容能力,手動去擴容資源,一個個元件的修改配置檔案,非常容易出錯。