離線安裝 Cloudera ( CDH 5.x )


要配置生產環境前,最好嚴格按照官方文檔/說明配置環境。比如,官方說這個安裝包用於RETHAT6, CENTOS6,那就要裝到6的版本下,不然很容易出現各種各樣的錯。

配置這個CDH5我入了很多坑,最重要的有2點

1. HP GEN9 DL60服務器裝CentOS系統, 開始想裝7的版本, 官方只說支持到6. 經過各種折騰確實裝好了(后面會單開一章寫服務器裝CentOS7)

2. CDH暫不官方支持CentOS 7, 查到國外有人是安裝成功了,但是會有各種小問題需要息解決. 如7帶的是python2.7, 而CDH5還是用的2.6, 所以會有包缺失. 所以最終我還是把我的服務器重裝回6.5了

==================准備安裝==========================

1. 查看並下載最新的CDH版本: http://archive.cloudera.com/cdh5/parcels/latest/ ( 20150530時還是5.3.3的版本), 如果是CentOS6, 則下載帶el6的.

  

需要下載的文件有三個, 對應的parcel, parcel.sha1, manifest.json

下載完.sha1后改后綴為.sha

2. 下載對應的CM版本: http://archive-primary.cloudera.com/cm5/cm/5/ (如上面看到是5.3.3, 則推薦下載對應的版本的CM版本)

  

3. 下載oracle java JDK, 我使用的是1.7

  http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm

下載完后把這些文件全部上傳到局域網內的FTP上 

4. 用記事本准備好會使用的配置, 命令, 可以把下面的內容全部copy下來備用:

hosts文件配置:

192.168.10.250 n1
192.168.10.212 n2
192.168.10.213 n3
192.168.10.214 n4
192.168.10.215 n5
192.168.10.216 n6
192.168.10.217 n7
192.168.10.218 n8
192.168.10.219 n9

我的機器就只有4台, 但hosts文件可多配幾個, 以備以后添加時不需要每個機器去修改. 其中n1為namenode, 其於全作為datanode

==================環境設計     ====================

namenode: E5       24G     內存   服務器一台

datanode  :  i5/i7    8G/16G內存   PC      3台

全部安裝最小化的CentOS 6.5

==================系統環境准備====================

步驟一, 配置所有節點( 包含 namenode和datanode)

以下操作全部使用root帳戶

1. 修改網絡配置(所有節點)

  1.1 修改hostname

    #vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=n1

    改好后執行: service network restart生效

  1.2 修改hosts文件

    #vi /etc/hosts

插入上面設計好的hosts文件(必須包含本機IP與主機名的映射)

192.168.10.250 n1
192.168.10.212 n2
192.168.10.213 n3
192.168.10.214 n4
192.168.10.215 n5
192.168.10.216 n6
192.168.10.217 n7
192.168.10.218 n8
192.168.10.219 n9

2. 安裝wget工具到所有節點

  #yum install wget

3. 安裝Java JDK

  3.1 下載 JDK

  #cd /home

  #wget ftp://192.168.10.211/public/jdk-7u79-linux-x64.rpm

 

  3.2 安裝 JDK

  #rpm -ivh jdk-7u79-linux-x64.rpm

  #echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment

  3.3 刪除 JDK 安裝文件

  #rm -rf jdk-7u79-linux-x64.rpm

4. 關閉防火牆和SELinux

  4.1 關閉防火牆

  #service iptables stop

  #chkconfig iptables off

  4.2 關閉SELinux

  #setenforce 0

  #vi /etc/selinux/config

SELINUX=disabled

5. 安裝並配置ntp服務

  5.1 安裝ntp服務(所有節點都安裝)

  #yum install ntp

  5.2 配置ntp服務(除n1外的節點按下配置)

刪除默認文件配置的server, 僅添加n1

  #vi /etc/ntp.conf

restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
#主節點的主機名或ip
server n1

  5.3 啟動ntp服務

  #service ntpd start

  #chkconfig ntpd on

6. 安裝 mysql connector

  #yum install mysql-connector-java.noarch

7. 准備好scm帳戶

  #useradd --system --home=/opt/cm-5.3.3/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

注意--home=/opt/cm-5.3.3要對應你安裝的版本

步驟二, 配置namenode (n1)

1. SSH無密碼登錄(只需要主機可以無密碼登錄所有子節點就行了)

  1.1 在n1機器生成公鑰文件

    #ssh-keygen -t rsa

一路回車直到生成密碼成功, 如下圖:

  1.2 把公鑰添加到認證文件中

    #cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

  1.3 設置認證文件權限(極重要)

    #chmod 600 ~/.ssh/authorized_keys

  1.4 拷貝認證文件到所有datanode(n2,n3,n4)節點

    #scp ~/.ssh/authorized_keys root@n2:~/.ssh/

  1.5 測試是否可以無密碼登錄

    #ssh n2

如果沒有提示密碼, 直接登錄了n2則說名配置成功了

2. 安裝並配置 mysql

  2.1 安裝 mysql

  #yum install mysql-server

  #service mysqld start

  #chkconfig mysqld on

  2.2 配置 mysql

  #mysqladmin -u root password '{psd}'

  2.3 准備數據庫

  #mysql -uroot -p{psd}

#hive
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

  授權數據庫訪問

grant all privileges on *.* to 'root'@'n1' identified by 'root' with grant option;
flush privileges;

3. 安裝ntp服務

  3.1 如第一步驟中的安裝方法安裝ntp服務

  #yum install ntp

  3.2 配置ntp服務 

  #vi /etc/ntp.conf 

restrict default nomodify notrap

server 1.cn.pool.ntp.org prefer

server 127.127.1.0
fludge 127.127.1.0 stratum 10

我選的是1.cn.pool.ntp.org這個Server, 每個機房線路可能延遲不太一樣, 各自找比較快的ntp的服務.

  3.3 啟動ntp服務

  #service ntpd start

  #chkconfig ntpd on

注意: ntp同步一般需要等待5-10分鍾, 可用ntpstat命令查看同狀態

主節點查看應該如下是個外網地址:

其它節點查看應該是主節點IP:

 

==================准備部署            ====================

以下全在主節點用root帳戶操作

1. 從內網FTP上下載CM5, 並解壓到/opt

  #cd /opt

  #wget ftp://192.168.10.211/public/cloudera-manager-el6-cm5.3.3_x86_64.tar.gz

  #tar -xzvf cloudera-manager-el6-cm5.3.3_x86_64.tar.gz

2. 准備 Parcels

一定要安裝到/opt/cloudera/parcel-repo中

  #cd /opt/cloudera/parcel-repo/

  #wget ftp://192.168.10.211/public/CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel

  #wget ftp://192.168.10.211/public/CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha

  #wget ftp://192.168.10.211/public/manifest.json

3. 修改agent配置

  #vi /opt/cm-5.3.3/etc/cloudera-scm-agent/config.ini

server_host=n1

4. 拷貝agent到各datanode節點(n2-n4)

  #scp -r /opt/cm-5.3.3 root@n2:/opt/

5. 初始化數據庫

  /opt/cm-5.3.3/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p{psd} --scm-host localhost scm scm scm

 

==================部署           ====================  

1. 在namenode啟動server和agent(主節點也是要做到集群中的, 所以主節點也要開啟Agent)

  #/opt/cm-5.3.3/etc/init.d/cloudera-scm-server start

  #/opt/cm-5.3.3/etc/init.d/cloudera-scm-agent start

2. 在所有datanode啟動agent

  #/opt/cm-5.3.3/etc/init.d/cloudera-scm-agent start

3. 在局域網內訪問: http://192.168.10.250:7180/cmf/login, 如果你是windows可以修改hosts文件后用: http://n1:7180/cmf/login

默認帳號密碼:admin

選擇Free版本

4. 選擇需要部署的機器

5. 選擇安裝包

6. 部署完成

7. 服務器檢查

這里有個問題: Cloudera 建議將 /proc/sys/vm/swappiness 設置為 0, 當前設置為 60.  

  #echo 0 > /proc/sys/vm/swappiness 即可解決。

  7.2 JAVA JDK 版本不匹配( 最佳好像是75?), 問題不是很大

8. 選擇安裝服務

9. 后面基本一路配置下去直到結束

10. 可能出的錯

  10.1 Hive還是Hue啟動不起來, 提示ImportError: libxslt.so.1 ... 其實真正的錯是缺少libxml2. 但是用yum install libxml2並不能解決的, 要用yum install libxml2-python

  10.2 Hue起不來還有一個可能是沒有裝libxslt, 請用yum install libxslt.x86_64

  10.3 HDFS或是別的經常會有啟動錯誤. 不用一直停在那個安裝服務界面. 你可以進入http://n1:7180/home, 點Hosts, 然后一個個把節點的role啟動起來

    10.4 NFS 有可能啟不起來, 查看日志顯示:

No portmap or rpcbind service is running on this host. Please start portmap or rpcbind service before attempting to start the NFS Gateway role on this host.
    
    需要安裝rpcbind: yum install rpcbind.x86_64
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM