Centos 7 離線安裝Cloudera Manager5 和CDH5.13.0

序言

紀(jì)錄下Hadoop集群的搭建過(guò)程及途中踩過(guò)的坑,希望能對(duì)正在學(xué)習(xí)的同學(xué)有個(gè)幫助,少走點(diǎn)彎路~

PS:為了便于個(gè)人博客管理,此文從CSDN遷移過(guò)來(lái),屬于個(gè)人實(shí)際操作紀(jì)錄的筆記,持續(xù)更新~

PPS:本文集群搭建為四臺(tái)機(jī)器,不建議大家這么弄,因?yàn)閦ookeeper發(fā)揮最大作用的配置是大于2 的奇數(shù)臺(tái)機(jī)器。

PPPS:有問題請(qǐng)下方留言,大家互相交流,分享使我快樂~~

一、前期準(zhǔn)備

  1. 安裝環(huán)境
    系統(tǒng)配置:

     系統(tǒng):centos 7 最小安裝版 64位
     內(nèi)存:10G 10G 10G 8G
    

    四臺(tái)機(jī)器組成小集群(物理機(jī))

     CDH-DEV1 CDH-DEV2 CDH-DEV3 CDH-DEV4
    
  2. 需要下載的安裝包

    注意下載相應(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
    
  3. Installing Cloudera Manager and CDH

二、環(huán)境配置

注意所有操作都需要使用root權(quán)限操作

  1. 基本配置(所有節(jié)點(diǎn))

    修改 /etc/hostname

     CDH-DEV1
    

    修改 /etc/hosts,此處一定要注意,不要按照網(wǎng)上有的說(shuō)明,將127.0.0.1那一行里的localhost.localdomain改成主機(jī)名稱,在安裝Cloudera Agent的時(shí)候會(huì)識(shí)別不出名稱和IP

    image.png

修改 /etc/sysconfig/network

    NETWORKING=yes
    HOSTNAME=CDH-DEV1
  1. Java環(huán)境(所有節(jié)點(diǎn))

    下載jdk-8u144-linux-x64.tar.gz
    解壓到/usr/java(可根據(jù)個(gè)人習(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 #使生效
    
  2. SSH無(wú)密碼登錄(集群內(nèi)節(jié)點(diǎn)能夠互相無(wú)密碼訪問)

    思路:第一臺(tái)機(jī)器配置authorized_keys,scp到第二臺(tái)機(jī)器,將第二臺(tái)機(jī)器的公鑰添加到authorized_keys,然后將其scp到第三臺(tái),以此類推,直到配置到最后一臺(tái)機(jī)器,將最后一臺(tái)機(jī)器的authorized_keys scp到所有節(jié)點(diǎn),如下

    1)在主節(jié)點(diǎn)(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-DEV2執(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-DEV2執(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
    
  3. 安裝MySQL(主節(jié)點(diǎn)安裝即可)

    安裝步驟:
    (1)此處需要注意的是centos 7 默認(rèn)安裝的是mariadb,如果不卸載直接安裝的話會(huì)報(bào)錯(cuò),報(bào)錯(cuò)信息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 #啟動(dòng)服務(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;
    

    (4)建數(shù)據(jù)庫(kù)(用于后邊組件安裝)

     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;
    
  4. 關(guān)閉防火墻(所有節(jié)點(diǎn))
    centos 7 默認(rèn)使用的是firewall,不是iptables

     systemctl stop firewalld.service
     systemctl mask firewalld.service
    
  5. 關(guān)閉SELinux(所有節(jié)點(diǎn))

     [root@CDH-DEV1 .ssh]# vim /etc/selinux/config
     
     設(shè)置SELINUX=disabled
    
  6. 配置NTP服務(wù)(所有節(jié)點(diǎn))

     安裝
     [root@CDH-DEV1 .ssh]# yum install ntp
     設(shè)置開機(jī)啟動(dòng)
     [root@CDH-DEV1 .ssh]# chkconfig ntpd on
     服務(wù)啟動(dòng)
     [root@CDH-DEV1 .ssh]# service ntpd start
    
  7. 所有節(jié)點(diǎn)上創(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
    

三、安裝

  1. 安裝Cloudera Manager Server 和Agent

(1)將下載好的cloudera-manager-centos7-cm5.13.0_x86_64.tar.gz解壓到主節(jié)點(diǎn)的/opt/,解壓出來(lái)的文件夾為clouderacm-4.13.0

(2)為Cloudera Manager建立數(shù)據(jù)庫(kù),此處需要前邊下載好的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é)點(diǎn)
[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é)點(diǎn)/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,否則安裝時(shí)會(huì)重新下載,很重要?。?/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)啟動(dòng)

#主節(jié)點(diǎn)
/opt/cm-5.13.0/etc/init.d/cloudera-scm-server start

#主節(jié)點(diǎn)及其他節(jié)點(diǎn)
/opt/cm-5.13.0/etc/init.d/cloudera-scm-agent start

啟動(dòng)需要點(diǎn)時(shí)間,可以查看數(shù)據(jù)庫(kù)scm中的hosts表,如果里面出現(xiàn)節(jié)點(diǎn)信息表示server啟動(dòng)完成

  1. 開始安裝Hadoop集群

登錄界面,默認(rèn)登錄用戶名和密碼都是admin

image.png

選擇安裝版本

image.png

為CDH群集安裝指定主機(jī)

此處是在當(dāng)前管理的主機(jī)里選擇機(jī)器,不要在新主機(jī)里查找,另外這個(gè)地方顯示的主機(jī)信息一定要對(duì),我開始的時(shí)候因?yàn)橹鳈C(jī)名配置出問題,導(dǎo)致無(wú)法識(shí)別主機(jī)名稱和IP,雖然agent的uuid是分配到了四臺(tái)機(jī)器上,但是后邊的安裝無(wú)法進(jìn)行。

image.png

群集安裝

image.png

群集安裝--安裝指定parcel

分配時(shí)間受帶寬影響,我的是千兆交換機(jī)組成的局域網(wǎng),速度還可以,應(yīng)該不到十分鐘

image.png

檢查主機(jī)正確性

image.png

第一個(gè)警告直接在所有節(jié)點(diǎn)上執(zhí)行echo 10 > /proc/sys/vm/swappiness
第二個(gè)警告按照上面的說(shuō)明,在所有節(jié)點(diǎn)上執(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ù)庫(kù)設(shè)置

image.png

此處hue老出問題,一直解決不了,為了整條線走下去,而且目測(cè)hue基本用不到,所以選擇了放棄安裝hue.
貼一下網(wǎng)上找的幾個(gè)解決方法,我都試了,沒有解決,不知道什么問題,以后研究研究

群集設(shè)置--審查--默認(rèn)即可
群集設(shè)置--首次設(shè)置--默認(rèn)即可

開始安裝服務(wù)
此處hive ,oozie會(huì)安裝失敗,失敗信息如下。因?yàn)槲覀兪褂昧薓ySQL作為hive元數(shù)據(jù)存儲(chǔ),需要將mysql驅(qū)動(dòng)拷貝到hive和oozie目錄下

image.png

image.png

解決方法(需要在所有節(jié)點(diǎn)上執(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/        

安裝完成

image.png

四、踩過(guò)的坑

  1. 數(shù)據(jù)庫(kù)配置
    問題描述:開始給Cloudera Manager配置數(shù)據(jù)庫(kù)的時(shí)候,找的是網(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,一直報(bào)錯(cuò),不知道什么問題,報(bào)錯(cuò)信息java.sql.SQLException: Your password does not satisfy the current policy requirements,各種改密碼復(fù)雜度及降低數(shù)據(jù)庫(kù)密碼復(fù)雜度要求都不行,懷疑是CDH版本更新命令參數(shù)發(fā)生了變化
    解決方法,去掉部分參數(shù),
    /opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql -uroot -p scm scm

  2. cloudera-scm-server啟動(dòng),cm-5.13.0/etc/init.d/cloudera-scm-server:行109: pstree: 未找到命令,centos最小安裝版缺少軟件包,安裝即可,yum install psmisc

  3. 中途安裝失敗,重新安裝

    關(guān)閉所有服務(wù)

     #主節(jié)點(diǎn)
     [root@CDH-DEV1 opt]# /opt/cm-5.13.0/etc/init.d/cloudera-scm-server stop
     #主節(jié)點(diǎn)及其他節(jié)點(diǎn)
     [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ù)庫(kù)scm
    重新配置數(shù)據(jù)庫(kù)
    /opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql -hlocalhost -uroot -p scm scm
    啟動(dòng)Cloudera server和agent,按照之前步驟安裝即可

五、參考網(wǎng)站

Installing Cloudera Manager and CDH

Cloudera Manager 5和CDH5離線安裝,CDH-5.7.1

離線安裝Cloudera Manager 5和CDH5(最新版5.1.3) 完全教程

寫在后面

碼字不易,覺得好點(diǎn)個(gè)贊哈~~

最后編輯于
?著作權(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)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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