Cloudera Manager 是 CDH 市場(chǎng)領(lǐng)先的管理平臺(tái)。它以其強(qiáng)大的數(shù)據(jù)管理和分析能力,幫助企業(yè)能夠輕松駕馭海量數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)分析與洞察。
作為業(yè)界第一的端到端 Apache Hadoop 的管理應(yīng)用,Cloudera Manager 對(duì) CDH 的每個(gè)部件都提供了細(xì)粒度的可視化和控制,從而設(shè)立了企業(yè)部署的標(biāo)準(zhǔn)。通過 Cloudera Manger,運(yùn)維人員得以提高集群的性能,提升服務(wù)質(zhì)量,提高合規(guī)性并降低管理成本。
今天,我們將帶你深入探索 Cloudera 的安裝規(guī)劃與系統(tǒng)環(huán)境搭建部署,為你的企業(yè)數(shù)據(jù)之旅鋪設(shè)堅(jiān)實(shí)的基石。
但在此之前,我們需要精心規(guī)劃、細(xì)致部署。接下來,我們將一步步引導(dǎo)你完成 Cloudera 的安裝規(guī)劃與系統(tǒng)環(huán)境搭建,為企業(yè)數(shù)據(jù)中心的管理變得簡(jiǎn)單直觀。
系統(tǒng)環(huán)境準(zhǔn)備、安裝基礎(chǔ)環(huán)境
1.選擇三臺(tái)已安裝 Centos6 Liunx 系統(tǒng)的節(jié)點(diǎn),分配資源
安裝 CDH 節(jié)點(diǎn)推薦內(nèi)存為 64G,大部分內(nèi)存被 Cloudera Management Service 占用,因?yàn)樽隽舜罅康臄?shù)據(jù)分析和整合。這里,劃分三臺(tái)節(jié)點(diǎn)如下:
針對(duì)目前學(xué)習(xí)來說:
如果實(shí)際的物理機(jī)器內(nèi)存為 32G,推薦 cm Server 內(nèi)存為 16G,cm Agent 內(nèi)存分別為 4G。
如果實(shí)際的物理機(jī)器內(nèi)存為 16G,推薦 cm Server 內(nèi)存為 10G,cm Agent 內(nèi)存分別為 2G。
如果實(shí)際的物理機(jī)器內(nèi)存為 12G,推薦 cm Server 內(nèi)存為 8G,cm Agent 內(nèi)存分別為 2G。
如果實(shí)際的物理機(jī)器內(nèi)存為 8G,推薦 cm Server 內(nèi)存為 6G,cm Agent 內(nèi)存分別為 2G。
注意:后兩種情況,實(shí)際機(jī)器內(nèi)存不足,需要在 VM 虛擬機(jī)中設(shè)置允許交換內(nèi)存。設(shè)置方式如下:
在 VMware 中點(diǎn)擊“編輯”->“首選項(xiàng)”,找到內(nèi)存,預(yù)留內(nèi)存是給當(dāng)前真實(shí)物理 機(jī)預(yù)留的內(nèi)存量。在額外內(nèi)存中,如果實(shí)際物理機(jī)內(nèi)存不足 10G 就設(shè)置“允許交換大部分虛擬機(jī)內(nèi)存”,設(shè)置這個(gè)的意思是當(dāng)虛擬機(jī)內(nèi)存不足時(shí),可以允許內(nèi)存與磁盤交換數(shù)據(jù),從而獲取更多的內(nèi)存執(zhí)行當(dāng)前運(yùn)行的程序。
截止到這里,以上只是準(zhǔn)備好的三臺(tái)劃分好內(nèi)存和核心的空節(jié)點(diǎn)。
**注意: **實(shí)際物理機(jī)器安裝 Vmware 的磁盤至少還要預(yù)留 50G 磁盤空間。
2.配置 IP
在每臺(tái)節(jié)點(diǎn)上配置 ip,打開 /etc/sysconfig/network-scripts/ifcfg-eth0 編輯內(nèi)容如下:
重啟網(wǎng)絡(luò)服務(wù)使 ip 生效:
三臺(tái)節(jié)點(diǎn)配置的 ip 分別為:
*192.168.179.201
*192.168.179.202
*192.168.179.203
注意:每臺(tái)節(jié)點(diǎn)克隆后需要?jiǎng)h除每臺(tái)節(jié)點(diǎn)/etc/udev/rules.d/70-persistent-net.rules 文件,清除 mac 地址。重啟每臺(tái)節(jié)點(diǎn)即可。
3.配置每臺(tái)節(jié)點(diǎn)的 hostname
修改每臺(tái)節(jié)點(diǎn)/etc/sysconfig/network 中的 HOSTNAME,分別為:cm1,cm2,cm3。設(shè)置好每臺(tái)節(jié)點(diǎn)的 hostname 之后重啟每臺(tái)節(jié)點(diǎn)即可生效。
4.配置節(jié)點(diǎn) ip、hostname 映射
在每臺(tái)節(jié)點(diǎn)/etc/hosts 文件后追加如下內(nèi)容,配置 ip 與 hostname 之間的映射。
5.關(guān)閉防火墻
在每臺(tái)節(jié)點(diǎn)上執(zhí)行如下命令,關(guān)閉防火墻,并設(shè)置開機(jī)不啟動(dòng):
6.關(guān)閉 SELinux
SELinux 就是 Security-Enhanced Linux 的簡(jiǎn)稱,安全加強(qiáng)的 linux。傳統(tǒng)的 linux 權(quán)限是對(duì)文件和目錄的 owner, group 和 other 的 rwx 進(jìn)行控制,而 SELinux 采用的是委任式訪問控制,也就是控制一個(gè)進(jìn)程對(duì)具體文件系統(tǒng)上面的 文件和目錄的訪問,SELinux 規(guī)定了很多的規(guī)則,來決定哪個(gè)進(jìn)程可以訪問哪些 文件和目錄。雖然 SELinux 很好用,但是在多數(shù)情況我們還是將其關(guān)閉,因?yàn)樵?不了解其機(jī)制的情況下使用 SELinux 會(huì)導(dǎo)致軟件安裝或者應(yīng)用部署失敗。
在每臺(tái)節(jié)點(diǎn)/etc/selinux/config 中將 SELINUX=enforcing 改成 SELINUX=disabled 即可。
7.配置 yum 源
這里我們選擇使用本地 yum 源。需要在 VM 中設(shè)置下連接光驅(qū),步驟如下圖:
在 cm1,cm2,cm3 節(jié)點(diǎn)上配置本地 yum 源: 每臺(tái)節(jié)點(diǎn)創(chuàng)建/mnt/cdrom 目錄:
每臺(tái)節(jié)點(diǎn)執(zhí)行如下命令,將光盤設(shè)備/dev/sr0 掛載到/mnt/cdrom 目錄:
每臺(tái)節(jié)點(diǎn)執(zhí)行命令:df -h 查看是否掛載成功:
上面的 mount 命令掛載后在機(jī)器重啟后會(huì)失效,為了可以實(shí)現(xiàn)開機(jī)自動(dòng)掛載,可以在每臺(tái)節(jié)點(diǎn)的/etc/fstab 文件的最后面加入下面語(yǔ)句:
下面可以創(chuàng)建本地 yum 源,在每臺(tái)節(jié)點(diǎn)的/etc/yum.repos.d 目錄下創(chuàng)建 local.repo 文件,內(nèi)容如下:
以上內(nèi)容中 baseurl 是指 Yum 源的地址,該路徑下有個(gè) repodata 目錄,就是 yum 安裝源目錄。file://表示 yum 源為文件。
如果只想讓 local.repo 生效,可以在每臺(tái)節(jié)點(diǎn)的/etc/yum.repos.d 目錄下 創(chuàng)建一個(gè) backup 目錄,將其他的以“.repo”結(jié)尾的文件都移動(dòng)到 backup 目錄中。
在每臺(tái)節(jié)點(diǎn)上執(zhí)行以下命令,更新 yum 源:
8.配置 ssh 免密鑰登陸
在 CDH 中需要任意兩個(gè)節(jié)點(diǎn)之間都可以免秘鑰登錄。節(jié)點(diǎn)兩兩免秘鑰的根本原理如 下:假設(shè) A 節(jié)點(diǎn)需要免秘鑰登錄 B 節(jié)點(diǎn),只要 B 節(jié)點(diǎn)上有 A 節(jié)點(diǎn)的公鑰,那么 A 節(jié)點(diǎn)就可以免密登錄當(dāng)前 B 節(jié)點(diǎn)。
第一、需要在每臺(tái)節(jié)點(diǎn)上安裝 ssh 客戶端,否則,不能使用 ssh 命令(最小化安裝 Liunx,默認(rèn)沒有安裝 ssh 客戶端):
- yum -y install openssh-clients
第二、在每臺(tái)節(jié)點(diǎn)執(zhí)行如下命令,在每臺(tái)節(jié)點(diǎn)的“~”目錄下,創(chuàng)建.ssh 目錄,注意:不要手動(dòng)創(chuàng)建這個(gè)目錄,因?yàn)橛袡?quán)限問題。
- cd ~
- ssh localhost
-
這里會(huì)需要輸入節(jié)點(diǎn)密碼#
- exit
第三、在每臺(tái)節(jié)點(diǎn)上執(zhí)行如下命令,給當(dāng)前節(jié)點(diǎn)創(chuàng)建公鑰和私鑰:
- ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
第四、將 cm1,cm2,cm3 的公鑰 copy 到 cm1 上,這樣,cm1,cm2,cm3 節(jié)點(diǎn)都能登錄 cm1 節(jié)點(diǎn)。命令如下:
[圖片上傳失敗...(image-52245d-1726715653153)]
最后、將 cm1 節(jié)點(diǎn)上~/.ssh/authorized_keys 拷貝到 cm2 和 cm3 節(jié)點(diǎn)的 ~/.ssh/目錄下,執(zhí)行如下命令:
- 在cm1上執(zhí)行如下命令,需要輸入密碼:
- [root@cm1 .ssh]# scp ~/.ssh/authorized_keys cm2:
pwd
- [root@cm1 .ssh]# scp ~/.ssh/authorized_keys cm3:
pwd
經(jīng)過以上步驟,節(jié)點(diǎn)兩兩免密完成。
9.節(jié)點(diǎn)同步時(shí)間
在 cm1,cm2,cm3 每臺(tái)節(jié)點(diǎn)上執(zhí)行如下命令,安裝 ntp 服務(wù)及配置定時(shí)任務(wù):
- yum-yinstallntp#安裝ntp服務(wù)#
- rm -rf /etc/localtime #刪除現(xiàn)有時(shí)區(qū)#
- ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改上海時(shí)區(qū)#
- /usr/sbin/ntpdate -u pool.ntp.org #同步時(shí)間#
- date #查看時(shí)間#
-
crontab -e 寫入如下定時(shí)內(nèi)容:#
- */10 * * * * /usr/sbin/ntpdate -u pool.ntp.org >/dev/null 2>&1 #同步時(shí)
間定時(shí)任務(wù)# - service crond restart #重啟定時(shí)任務(wù)#
- crontab -l #查看定時(shí)任務(wù)#
- chkconfigntpdon#設(shè)置ntpd開機(jī)啟動(dòng),不然后期安裝CDH時(shí)會(huì)有警告。 12. servicentpdstart#啟動(dòng)ntpd服務(wù)
10.安裝 JDK
給每臺(tái)節(jié)點(diǎn)安裝 jdk,這里我們安裝的 CDH 版本為 5.4,在官網(wǎng)https://www.cloudera.com/documentation/enterprise/release-n otes/topics/rn_consolidated_pcm.html 下有介紹 版本對(duì)應(yīng)的 jdk 版本,可以使用 jdk7,也可使用 jdk8,但是對(duì)應(yīng)的 jdk 小版本有要求,具體如下:
這里我們選擇 jdk8 版本中的 1.8u181 版本安裝。在每臺(tái)節(jié)點(diǎn)安裝 jdk,在每臺(tái)節(jié)點(diǎn)中創(chuàng)建/software 目錄,將 jdk8 安裝包通過 ftp 工具上傳到/software 目錄下,每臺(tái)節(jié)點(diǎn)執(zhí)行如下命令安裝 jdk:
- [root@cm1 ~]# mkdir -p /software
- [root@cm1 ~]# rpm -ivh /software/jdk-8u181-linux-x64.rpm
以上命令執(zhí)行完成之后,會(huì)在每臺(tái)節(jié)點(diǎn)的/usr/java 下安裝 jdk。在每臺(tái)節(jié)點(diǎn)配置 jdk 的環(huán)境變量:
- vim /etc/profile
-
在每臺(tái)節(jié)點(diǎn)中配置profile文件,在最后追加內(nèi)容如下:#
- export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
- export PATH=
PATH
- export CLASSPATH=.:
JAVA_HOME/lib/tools.jar
執(zhí)行完成以上命令之后,在每臺(tái)節(jié)點(diǎn)上執(zhí)行 “source /etc/profile”使配置生效。
11.安裝 mysql 數(shù)據(jù)庫(kù)
在 cm1 中安裝 mysql 數(shù)據(jù)庫(kù),執(zhí)行命令:yum install –y mysql-server 執(zhí)行完成之后,啟動(dòng) mysql:service mysql start。登錄 mysql 執(zhí)行如下語(yǔ)句:
- [root@cm1 java]# mysql
- mysql> use mysql;
- mysql> select user,password from user;
- mysql> delete from user;
- mysql>GRANTALLPRIVILEGESON.TO'root'@'%'IDENTIFIEDBY'123456'WITH
GRANT OPTION; - mysql> flush privileges;
執(zhí)行如下命令,將 mysql 設(shè)置成開機(jī)啟動(dòng),如果不設(shè)置開機(jī)啟動(dòng),后期每次啟動(dòng) ClouderaManager 時(shí),需要手動(dòng)啟動(dòng) MySQL。
- [root@cm1 ~]# chkconfig --add mysqld
- [root@cm1 ~]# chkconfig --level 345 mysqld on
- [root@cm1 ~]# chkconfig --list
12.安裝第三方依賴包
在每臺(tái)幾點(diǎn)上安裝第三方依賴包,每臺(tái)節(jié)點(diǎn)執(zhí)行如下命令:
- yum install -y chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
至此,安裝 Cloudera Manager 的基礎(chǔ)環(huán)境準(zhǔn)備完成。
**以上就是今天分享的全部?jī)?nèi)容。
如果你想了解更多關(guān)于:Cloudera 系統(tǒng)環(huán)境準(zhǔn)備、基礎(chǔ)環(huán)境安裝、集群部署以及應(yīng)用組件安裝等全方位的技術(shù)的問題,歡迎大家留言討論。
感謝你的閱讀,如果喜歡我的文字,可以持續(xù)關(guān)注我,會(huì)陸續(xù)為你更新更多干貨小知識(shí)。