Centos7離線(xiàn)安裝Cloudera Manager 5.14.1

簡(jiǎn)介

如果是新手,請(qǐng)嚴(yán)格按照步驟來(lái)做。當(dāng)然還有其他安裝方式,這里講的方式比較適合測(cè)試使用。

內(nèi)容 版本
CentOS 7 64位
JDK 1.7
Cloudera Manager 5.14.1

本次安裝一共使用3臺(tái)服務(wù)器,主要用戶(hù)測(cè)試。

服務(wù)名 內(nèi)網(wǎng)IP 用途
master 192.168.254.130 主,按照CM
slave01 192.168.254.210
slave02 192.168.254.211

可以搭建三臺(tái)虛擬機(jī),其中master內(nèi)存在8G以上,slave內(nèi)存在4G以上,每個(gè)虛機(jī)的硬盤(pán)空間100G+

下載軟件包和數(shù)據(jù)包

我這里提供兩種下載方式:

在下載的時(shí)候可以先把服務(wù)器基礎(chǔ)環(huán)境準(zhǔn)備好

百度云盤(pán)下載

推薦百度云超級(jí)VIP賬號(hào)的用戶(hù),里面包含所有的安裝包和數(shù)據(jù)包

鏈接: https://pan.baidu.com/s/1JC-vpYH7SWBwju9C8DkVPw 密碼: 26v8

官方下載

這是一個(gè)漫長(zhǎng)的過(guò)程,試過(guò)才知道爽。

下載CM和jdk軟件包

訪(fǎng)問(wèn):http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/RPMS/x86_64/

把上面的所有rpm包都下載回來(lái)本地,下載速度慢可以使用axel多線(xiàn)程下載,如果沒(méi)有裝axel,也可以使用 wget -b后臺(tái)下載

我的相關(guān)下載都放在 /data/soft下,我的Cloudera Manager 5.14.1的下載放在 /data/soft/cm5.14.1,所以新建目錄并進(jìn)入目錄:

mkdir -p /data/soft/cm5.14.1/cm-and-jdk

cd /data/soft/cm5.14.1/cm-and-jdk
wget -b http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/RPMS/x86_64/cloudera-manager-agent-5.14.1-1.cm5141.p0.1.el7.x86_64.rpm

wget -b  http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/RPMS/x86_64/cloudera-manager-daemons-5.14.1-1.cm5141.p0.1.el7.x86_64.rpm

wget -b http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/RPMS/x86_64/cloudera-manager-server-5.14.1-1.cm5141.p0.1.el7.x86_64.rpm

wget -b http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/RPMS/x86_64/cloudera-manager-server-db-2-5.14.1-1.cm5141.p0.1.el7.x86_64.rpm

wget -b http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/RPMS/x86_64/enterprise-debuginfo-5.14.1-1.cm5141.p0.1.el7.x86_64.rpm

wget -b http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/RPMS/x86_64/jdk-6u31-linux-amd64.rpm

wget -b http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/RPMS/x86_64/oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm

下載cloudera-manager安裝文件

訪(fǎng)問(wèn):http://archive.cloudera.com/cm5/installer/5.14.1/

下載cloudera-manager-installer.bin

cd /data/soft/cm5.14.1/

wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/cloudera-manager.repo

下載rpm倉(cāng)庫(kù)文件

wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/cloudera-manager.repo

下載parcel

這個(gè)比較大,放下服務(wù)器慢慢下吧

mkdir -p /data/soft/cm5.14.1/parcel

cd /data/soft/cm5.14.1/parcel
wget -b http://archive.cloudera.com/cdh5/parcels/5.14.0.24/CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel

wget -b http://archive.cloudera.com/cdh5/parcels/5.14.0.24/CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha1

服務(wù)器環(huán)境準(zhǔn)備

修改hostname及hosts

針對(duì)所有節(jié)點(diǎn)操作

為了便于安裝過(guò)程中對(duì)各個(gè)服務(wù)器的訪(fǎng)問(wèn)更易區(qū)分、更便捷,我們需要分別對(duì)各個(gè)服務(wù)器修改hostname及hosts

hostnamectl --static set-hostname master
hostnamectl --static set-hostname slave01
hostnamectl --static set-hostname slave02

修改hosts:

vim /etc/hosts

根據(jù)自己的3臺(tái)服務(wù)器IP地址,在最后面增加:

192.168.254.130 master
192.168.254.210 slave01
192.168.254.211 slave02

重啟機(jī)器

reboot

關(guān)閉防火墻和selinux

針對(duì)所有節(jié)點(diǎn)操作

關(guān)閉防火墻

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開(kāi)機(jī)啟動(dòng)
firewall-cmd --state #查看默認(rèn)防火墻狀態(tài)(關(guān)閉后顯示notrunning,開(kāi)啟后顯示running)

關(guān)閉selinux:

vim /etc/selinux/config

找到SELINUX改為:

SELINUX=disabled

ssh無(wú)密碼登錄

針對(duì)所有節(jié)點(diǎn)操作

先在master上執(zhí)行:

ssh-keygen -t rsa   #一路回車(chē)到完成

ssh-copy-id -i ~/.ssh/id_rsa.pub root@master   #將公鑰拷貝到本機(jī)的authorized_keys上

再在其他節(jié)點(diǎn)分別執(zhí)行以下命令:

ssh-keygen -t rsa   #一路回車(chē)到完成

ssh-copy-id -i ~/.ssh/id_rsa.pub root@master  

#注意此處不變,將公鑰拷貝到master的authorized_keys上

在master上,將authorized_keys分發(fā)到其他節(jié)點(diǎn)服務(wù)器:

scp ~/.ssh/authorized_keys root@slave01:~/.ssh/

scp ~/.ssh/authorized_keys root@slave02:~/.ssh/

安裝ntp時(shí)間同步軟件

所有節(jié)點(diǎn)時(shí)間一致非常重要,要不然啟動(dòng)Cloudera Manager服務(wù)后,后臺(tái)會(huì)報(bào)錯(cuò)。

所有節(jié)點(diǎn)執(zhí)行:

yum install ntp -y

安裝完成后,阿里云的服務(wù)器會(huì)自動(dòng)使用阿里云的ntp服務(wù)器進(jìn)行同步,故可不再進(jìn)行下面的配置,直接進(jìn)入2.6節(jié),若其他沒(méi)有統(tǒng)一ntp服務(wù)器進(jìn)行同步的,則還需要以下設(shè)置:

將master設(shè)置為主服務(wù)器(在master節(jié)點(diǎn)操作):

vim /etc/ntp.conf

內(nèi)容如下:

driftfile /var/lib/ntp/ntp.drift #草稿文件
# 允許內(nèi)網(wǎng)其他機(jī)器同步時(shí)間
restrict 192.168.137.0 mask 255.255.255.0 nomodify notrap
 
# Use public servers from the pool.ntp.org project.
# 中國(guó)這邊最活躍的時(shí)間服務(wù)器 : [http://www.pool.ntp.org/zone/cn](http://www.pool.ntp.org/zone/cn)
server 210.72.145.44 perfer   # 中國(guó)國(guó)家受時(shí)中心
server 202.112.10.36             # 1.cn.pool.ntp.org
server 59.124.196.83             # 0.asia.pool.ntp.org
 
# allow update time by the upper server 
# 允許上層時(shí)間服務(wù)器主動(dòng)修改本機(jī)時(shí)間
restrict 210.72.145.44 nomodify notrap noquery
restrict 202.112.10.36 nomodify notrap noquery
restrict 59.124.196.83 nomodify notrap noquery
 
# 外部時(shí)間服務(wù)器不可用時(shí),以本地時(shí)間作為時(shí)間服務(wù)
server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10

重啟ntpd服務(wù):

systemctl ntpd restart

查看同步狀態(tài):

netstat -tlunp | grep ntp

所有子節(jié)點(diǎn)ntp加入開(kāi)機(jī)啟動(dòng):

systemctl enable ntpd

設(shè)置slave到master 的同步(在slave節(jié)點(diǎn)操作):

vim /etc/ntp.conf

內(nèi)容如下:

driftfile /var/lib/ntp/ntp.drift # 草稿文件

statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

# 讓NTP Server為內(nèi)網(wǎng)的ntp服務(wù)器
server 192.168.137.110
fudge 192.168.137.110 stratum 5

# 不允許來(lái)自公網(wǎng)上ipv4和ipv6客戶(hù)端的訪(fǎng)問(wèn)
restrict -4 default kod notrap nomodify nopeer noquery 
restrict -6 default kod notrap nomodify nopeer noquery

# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1

重啟ntpd服務(wù):

systemctl ntpd restart

手動(dòng)同步:

ntpdate -u master

所有節(jié)點(diǎn)重啟服務(wù)器:

reboot

分配安裝文件

主節(jié)點(diǎn)和子節(jié)點(diǎn)分別需要的文件整理如下:

主節(jié)點(diǎn)master,所需文件:

cloudera-manager-agent-5.14.1-1.cm5141.p0.2.el7.x86_64.rpm
cloudera-manager-daemons-5.14.1-1.cm5141.p0.2.el7.x86_64.rpm
cloudera-manager-server-5.14.1-1.cm5141.p0.2.el7.x86_64.rpm
cloudera-manager-server-db-2-5.14.1-1.cm5141.p0.2.el7.x86_64.rpm
enterprise-debuginfo-5.14.1-1.cm5141.p0.2.el7.x86_64.rpm
cloudera-manager-installer.bin
cloudera-manager.repo
CDH-5.14.1-1.cdh5.14.1.p0.2-el7.parcel
CDH-5.14.1-1.cdh5.14.1.p0.2-el7.parcel.sha1

從節(jié)點(diǎn)slave01、slave02,所需文件:

cloudera-manager-agent-5.14.1-1.cm5141.p0.2.el7.x86_64.rpm
cloudera-manager-daemons-5.14.1-1.cm5141.p0.2.el7.x86_64.rpm
cloudera-manager.repo

使用scp命令分配所需要的安裝文件

安裝Cloudera Manager

至此,所有設(shè)置完成。開(kāi)始Cloudera Manager安裝吧!

安裝 cm-and-jdk

針對(duì)所有節(jié)點(diǎn)操作

修改倉(cāng)庫(kù)文件cloudera-manager.repo,把版本號(hào)加上

[cloudera-manager]
name = Cloudera Manager
baseurl = https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.14.1/  #主要改這里的版本號(hào)
gpgkey = https://archive.cloudera.com/redhat/cdh/RPM-GPG-KEY-cloudera
gpgcheck = 1

驗(yàn)證repo文件是否起效

yum list | grep cloudera #如果列出的不是待安裝的版本,執(zhí)行下面命令重試

yum clean allyum list | grep cloudera

切換到cm-and-jdk目錄下,執(zhí)行

yum localinstall --nogpgcheck *.rpm

設(shè)置java路徑:

vi /etc/profile

在該文件末尾添加以下行

JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

檢查安裝:

java -version

下面針對(duì)master節(jié)點(diǎn)操作

進(jìn)入cloudera-manager-installer.bin文件目錄,給bin文件賦予可執(zhí)行權(quán)限:

chmod +x ./cloudera-manager-installer.bin

運(yùn)行:

./cloudera-manager-installer.bin --skip_repo_package=1

如果提示需要?jiǎng)h除配置文件,則刪除該文件

rm -rf /etc/cloudera-scm-server/db.properties

相同配置下順利安裝時(shí)間在1分鐘內(nèi)即可完成。
然后我們?cè)趙eb瀏覽器訪(fǎng)問(wèn) http://192.168.254.130:7180/,看是否能打開(kāi)頁(yè)面即可,先不要進(jìn)行登錄操作。

注意:chd server服務(wù)器啟動(dòng)需要一些時(shí)間,等1分鐘左右。

如果能訪(fǎng)問(wèn),那證明 cloudera manager安裝正常。

安裝CDH

制作本地parcel

前面完成cloudera manager安裝之后master會(huì)在/opt目錄下生成cloudera文件夾,將之前下載好的CDH-*文件移動(dòng)到parcel-repo文件夾中

cp CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel /opt/cloudera/parcel-repo/
cp CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha  #注意這里有重命名

將cloudera manager的用戶(hù)授權(quán)給/opt和日志目錄:

chown -R cloudera-scm.cloudera-scm /var/lib/cloudera-scm-server
chown cloudera-scm.cloudera-scm  /opt  -R
chown cloudera-scm.cloudera-scm  /var/log/cloudera-scm-agent -R

重啟cloudera-scm-server(重要)

/etc/init.d/cloudera-scm-server restart

重啟速度較慢,約1分鐘后訪(fǎng)問(wèn) http://192.168.254.130:7180/ 登陸,賬號(hào)密碼 admin
選擇免費(fèi)版本,一路next開(kāi)始安裝。

基本默認(rèn)就行

在為CDH集群安裝指定主機(jī)的時(shí)候?qū)?/p>

master
slave01
slave02
在為CDH集群安裝指定主機(jī)

這里需要填寫(xiě)我們集群定義的ip或者服務(wù)器名稱(chēng)(包括安裝CM的主機(jī)本身),點(diǎn)擊搜索,即可加載出所有主機(jī)。全選所有主機(jī),并繼續(xù)。

CDH版本

這里會(huì)出現(xiàn)我們之前cp過(guò)去的CDH版本,選擇并繼續(xù)。

JDK安裝選項(xiàng)
集群安裝單用戶(hù)模式

如果之前的操作沒(méi)有問(wèn)題,這里將會(huì)很快完成

正在安裝選定Parcel

在選擇安裝的服務(wù)組合的時(shí)候,選擇自己需要的,如果不知道,全部安裝就行

安裝成功

這里是最激動(dòng)人心的時(shí)候

隨便找臺(tái)機(jī)器測(cè)試一下spark:

spark-shell
spark-shell

激動(dòng)的敲了一個(gè):

Hello World

CDH啟動(dòng)與關(guān)閉

CM Portal 地址:

http://master:7180/cmf/home

關(guān)閉步驟:

在CM portal上關(guān)閉 cluster

在所有節(jié)點(diǎn)關(guān)閉CM agent:

service cloudera-scm-agent stop

在master節(jié)點(diǎn)關(guān)閉CM server:

service cloudera-scm-server stop

啟動(dòng)步驟:

在所有節(jié)點(diǎn)啟動(dòng)CM agent:

service cloudera-scm-agent start

在master節(jié)點(diǎn)啟動(dòng)CM server:

service cloudera-scm-server start

在CM portal上啟動(dòng) cluster

查看啟動(dòng)日志:

/var/log/cloudera-scm-server/cloudera-scm-server.log

如果是3臺(tái)機(jī)器一般會(huì)出現(xiàn)錯(cuò)誤:

在CM console中將副本設(shè)為2:

dfs.replication=2

在所有的節(jié)點(diǎn)命令行執(zhí)行:

hadoop fs -setrep 2 /

安裝要點(diǎn):

  • 仔細(xì),認(rèn)真,嚴(yán)格按照步驟
  • 常見(jiàn)問(wèn)題:網(wǎng)絡(luò),防火墻等主機(jī)設(shè)置
  • 碰到問(wèn)題:查看日志&官網(wǎng)&百度
cloudera JDBC Driver com.mysql.jdbc.Driver not found.

將oracle的mysql的jar包放置到/usr/share/java/mysql-connector-java.jar路徑下即可,注意修改jar包名稱(chēng);

切記除了要下載parcel文件之外,還有manifest.json文件,否則在選擇安裝版本界面,cloudera無(wú)法識(shí)別parcel的版本。

還有需要對(duì)于sha1文件進(jìn)行改名:*.parcel.sha1 -> *.parcel.sha

為什么CDH的安裝頁(yè)面顯示無(wú)法發(fā)現(xiàn)CDH ?

之前一直懷疑是流程步驟有問(wèn)題,其實(shí)流程本身沒(méi)有問(wèn)題,問(wèn)題發(fā)生在流程的實(shí)施節(jié)點(diǎn)上:cdh文件損壞了;本來(lái)1.5G的大小,當(dāng)時(shí)只有50M,我不記得原因了,但是太坑了。

我想到了權(quán)限問(wèn)題;但是忽略了文件損壞問(wèn)題:sha就是干這個(gè)用的,當(dāng)時(shí)應(yīng)該考慮到使用sha來(lái)校驗(yàn)一下文件。

如果cloudera發(fā)現(xiàn)能夠正常發(fā)現(xiàn)parcel,在server啟動(dòng)后將會(huì)打出一條日志:

SearchRepositoryManager-0:com.cloudera.server.web.cmf.search.components.SearchRepositoryManager: Finished constructing repo:2017-09-27T16:19:00.763Z

安裝CDH在拷貝parcel的時(shí)候發(fā)生異常:Exhausted available authentication methods

后來(lái)發(fā)現(xiàn)原來(lái)是因?yàn)閟sh的root用戶(hù)被我設(shè)置為禁止遠(yuǎn)程登錄;而CDH頁(yè)面向?qū)е形疫€配置的用root用戶(hù)登錄

之后發(fā)現(xiàn)拷貝異常,總是聯(lián)網(wǎng)去下載agent包,但是agent都已經(jīng)在各個(gè)節(jié)點(diǎn)了;后來(lái)發(fā)現(xiàn)agent的啟動(dòng)是失敗的(在開(kāi)始的步驟中能夠被自動(dòng)發(fā)現(xiàn)的都不需要裝agent,需要通過(guò)手動(dòng)輸入IP來(lái)進(jìn)行發(fā)現(xiàn)的需要裝agent,怎么裝?聯(lián)網(wǎng)),報(bào)錯(cuò)顯示:ProtocolError: <ProtocolError for 127.0.0.1/RPC2: 401 Unauthorized>;在網(wǎng)上搜索了一下,如下處理:

sudo ps -ef | grep supervisord

kill -9 PID

sudo ./cloudera-scm-agent restart

未完,重啟后發(fā)現(xiàn):

Error, CM server guid updated, expected d6c22714-0175-4a40-ace6-db92b7417a40, received 613b2c09-88f6-41fe-9424-41601be40310

原來(lái)還需要將cm/lib/cloudera-scm-agent/下面的cm_guid進(jìn)行清除;這一點(diǎn)讓我想到了cloudera數(shù)據(jù)遷移的時(shí)候需要做的事情,需要將同目錄下的uuid進(jìn)行刪除;

在安裝的過(guò)程中還有一個(gè)問(wèn)題一直困擾我,就是僵尸agent,在agent經(jīng)歷如上的問(wèn)題后,在自動(dòng)發(fā)現(xiàn)的列表中有一些僵尸agent,會(huì)看到同hostname的多臺(tái)機(jī)器,有一個(gè)是正常通信,有的則是Unkonwn,無(wú)法刪掉,因?yàn)椴还催x,那么正常通信的也不會(huì)勾選上。反正后來(lái)我改了一下hosts文件,莫名其妙的在勾選列表中消失了,但是遺憾的是正常通信的也沒(méi)了。安裝成功后,在Hosts頁(yè)面才看到這些僵尸agent,此時(shí)再delete可以正常刪除。


Skipping start command because all roles are started or decommissioned or on decommissioned host.

cloudera的server停止后要稍等一會(huì)在啟動(dòng),因?yàn)獒尫艃?nèi)存需要一段時(shí)間;如果停止后立即就啟動(dòng)將會(huì)發(fā)生一種情況,內(nèi)存沒(méi)有釋放完,JVM的內(nèi)存大量釋放和JVM的大量使用將會(huì)導(dǎo)致JVM頻繁的進(jìn)行回收和釋放,導(dǎo)致JVM Pause以及World Stop

JAVA_HOME is not set and Java could not be found

具體原因不太清楚,最小化安裝了一個(gè)centos7,發(fā)現(xiàn)沒(méi)有jdk,不解。

在clouderea中添加了一個(gè)host,然后添加了一個(gè)spark nodemanager的角色,然后就悲劇了,總是抱JAVA_HOME is not set and Java could not be found的異常;即使手動(dòng)拷貝了一個(gè)jdk1.8到上面,profile也配置了,仍然不好用。不解。

再看日志的時(shí)候,發(fā)現(xiàn)安裝程序(cloudera的安裝程序)將會(huì)到幾個(gè)固定的地方查找,選一個(gè),然后將jdk拷貝到該目錄下,問(wèn)題解決

參考:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容