離線安裝Cloudera Manager 5和CDH5

關於CDH和Cloudera Manager

CDH (Cloudera's Distribution, including Apache Hadoop),是Cloudera 徹底開源的Hadoop 分佈式系統架構,爲了知足企業的需求而特別構建的系統。即一個開源的企業級分佈式存儲系統。html

CDH是Hadoop衆多分支中的一種,由Cloudera維護,基於穩定版本的Apache Hadoop構建,並集成了不少補丁,可直接用於生產環境。java

hadoop是一個開源項目,因此不少公司在這個基礎進行商業化,Cloudera對hadoop作了相應的封閉改變。Cloudera公司的發行版,咱們將該版本稱之爲CDH。node

 

Cloudera Manager則是爲了便於在集羣中進行Hadoop等大數據處理相關的服務安裝和監控管理的組件,對集羣中主機、Hadoop、Hive、Spark等服務的安裝配置管理作了極大簡化。mysql

系統環境

  • 實驗環境:VMware虛擬機
  • 操做系統:CentOS 6.5 x64 (至少內存2G以上)
  • Cloudera Manager:5.3.2
  • CDH: 5.3.2

相關目錄說明:

CDH安裝完成後,Hadoop各組件配置文件放置於 /var/run/cloudera-scm-agent/process/目錄下。
例如:/var/run/cloudera-scm-agent/process/193-hdfs-NAMENODE/core-site.xml。這些配置文件是經過Cloudera Manager啓動相應服務(如HDFS)時生成的,內容從數據庫中得到(即經過界面配置的參數)
  • /var/log/cloudera-scm-installer : 安裝日誌目錄。
  • /var/log/* : 相關日誌文件(相關服務的及CM的)。
  • /usr/share/cmf/ : 程序安裝目錄。
  • /usr/lib64/cmf/ : Agent程序代碼。
  • /var/lib/cloudera-scm-server-db/data : 內嵌數據庫目錄。
  • /usr/bin/postgres : 內嵌數據庫程序。
  • /etc/cloudera-scm-agent/ : agent的配置目錄。

         /etc/cloudera-scm-agent/config.ini  是agent主配置文件 linux

         vim /etc/cloudera-scm-agent/config.ini +3   web

         server_host= 主節點IPsql

  • /etc/cloudera-scm-server/ : server的配置目錄。
  • /opt/cloudera/parcels/ : Hadoop相關服務安裝目錄。
  • /opt/cloudera/parcel-repo/ : 下載的服務軟件包數據,數據格式爲parcels。
  • /opt/cloudera/parcel-cache/ : 下載的服務軟件包緩存數據。
  • /etc/hadoop/* : 客戶端配置文件目錄

安裝說明

官方參考文檔:
http://www.cloudera.com/content/cloudera/en/documentation/cloudera-manager/v5-latest/Cloudera-Manager-Installation-Guide/cm5ig_install_path_C.html數據庫

官方共給出了3中安裝方式:第一種方法必需要求全部機器都能連網,因爲最近各類國外的網站被牆的厲害,我嘗試了幾回各類超時錯誤,巨耽誤時間不說,一旦失敗,重裝很是痛苦。第二種方法下載不少包。第三種方法對系統侵入性最小,最大優勢可實現全離線安裝,並且重裝什麼的都很是方便。後期的集羣統一包升級也很是好。這也是我之因此選擇離線安裝的緣由。json

準備工做:系統環境搭建

如下操做均用root用戶操做。vim

1. 網絡配置(全部節點)

vi /etc/sysconfig/network修改hostname:

NETWORKING=yes
HOSTNAME=n1

經過service network restart重啓網絡服務生效。

vi /etc/hosts,修改ip與主機名的對應關係

192.168.1.106   n1
192.168.1.107   n2
192.168.1.108   n3

注意:這裏須要將每臺機器的ip及主機名對應關係都寫進去,本機的也要寫進去,不然啓動Agent的時候會提示hostname解析錯誤。

2.打通SSH,設置ssh無密碼登錄(全部節點)

在主節點上執行

# ssh-keygen -t rsa

# ssh-copy-id -i  /root/.ssh/id_rsa.pub  root@n2

測試:在主節點上ssh n2,正常狀況下,不須要密碼就能直接登錄進去了。

3.安裝Oracle的Java(全部節點)

CentOS,自帶OpenJdk,不過運行CDH5須要使用Oracle的Jdk,須要Java 7的支持。

卸載自帶的OpenJdk,使用rpm -qa | grep java查詢java相關的包,使用rpm -e --nodeps 包名卸載之。

去Oracle的官網下載jdk的rpm安裝包,並使用rpm -ivh 包名安裝之。

因爲是rpm包並不須要咱們來配置環境變量,咱們只須要配置一個全局的JAVA_HOME變量便可,執行命令:

echo "export JAVA_HOME=/usr/java/latest/" >> /etc/profile

source /etc/prfile

4.關閉防火牆和SELinux

關閉防火牆:

service iptables stop (臨時關閉)  
chkconfig iptables off (重啓後生效)

關閉SELINUX :

setenforce 0 (臨時生效)  
修改 /etc/selinux/config 下的 SELINUX=disabled (重啓後永久生效)

5.全部節點配置NTP服務

集羣中全部主機必須保持時間同步,若是時間相差較大會引發各類問題。 具體思路以下:

master節點做爲ntp服務器與外界對時中心同步時間,隨後對全部datanode節點提供時間同步服務。

全部datanode節點以master節點爲基礎同步時間。

全部節點安裝相關組件:yum install ntp。完成後,配置開機啓動:chkconfig ntpd on,檢查是否設置成功:chkconfig --list ntpd其中2-5爲on狀態就表明成功。

本博客以前有過講解,在此再也不進行介紹。

6.進行安裝以前的一些相關設置,爲了不在安裝過程當中出現一些錯誤,影響安裝進度。

mv /usr/bin/host  /usr/bin/host.bak ; echo 0 > /proc/sys/vm/swappiness ; echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

 

並加入開機啓動:

cat >> /etc/rc.local <<EOF

echo 0 > /proc/sys/vm/swappiness

echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

EOF

7.CM默認安裝的是postgresql數據庫,若是想使用mysql進行替代的話,還須要進行以下準備

yum -y install mysql-server mysql-connector-java

service mysqld start

mysqladmin -u  root  password  'rootroot'

 

能夠根據須要預先建立如下數據庫:

--hive數據庫         create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci

--集羣監控數據庫   create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci

--hue數據庫          create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci

 

初始化CM5服務器端的mysql數據庫:

 /usr/share/cmf/schema/scm_prepare_database.sh  mysql  scm -hlocalhost -uroot -prootroot --scm-host  localhost  scm  scm  scm

 格式是:  scm_prepare_database.sh   數據庫類型   數據庫   服務器   用戶名   密碼    --scm-host   Cloudera_Manager_Server所在的機器  .......   scm   scm   scm後面三個scm未知

該初始化操做除了建立 CM server 所需的庫和表外,同時還會更新CM服務器的數據庫主配置文件  /etc/cloudera-scm-server/db.properties。

 

 

相關包的下載以及安裝

Cloudera Manager server安裝

一、下載Cloudera Manager 5.3.2所需的對應系統類型的rpm

下載網址爲:

http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.3.2/RPMS/x86_64/

JDK官網下載地址:

http://www.oracle.com/technetwork/java/javase/overview/index.html

 

安裝rpm文件

將下載的rpm包直接放入文件夾/var/www/html/cm/ 下,爲下文搭建yum源時作好準備

mkdir -p /var/www/html/cm/

yum localinstall –-nogpgcheck  *.rpm   (注意在使用mysql做爲數據庫時,則不須要下載和安裝 cloudera-manager-server-db-2-5.3.2-1.cm532.p0.209.el6.x86_64.rpm,此包爲postgresql數據庫的安裝包

 

二、分別啓動agent服務端和cm服務端

/etc/init.d/cloudera-manager-agent start

/etc/init.d/cloudera-manager-server start

安裝完成後等待一段時間,在瀏覽器輸入localhost:7180    初次登陸 用戶名:admin 密碼:admin (此時測試能夠打開並順利登錄便可,先沒必要進行任何操做。)

 

#三、下載Cloudera Manager 5.3.2的主安裝文件並運行。(在用mysql數據庫時省略此步)

http://archive.cloudera.com/cm5/installer/5.3.2/cloudera-manager-installer.bin

也能夠直接從官網首頁上進行下載: http://www.cloudera.com/content/cloudera/en/downloads/cloudera_manager/cm-5-3-2.html

此bin文件便可以實如今線一鍵安裝CM和CDH,只是等待的時間有些長罷了

成功運行完畢該安裝程序後,會啓動cloudera-scm-server、cloudera-scm-agent、cloudera-scm-server-db這三個服務。

 

安裝完成後等待一段時間,在瀏覽器輸入localhost:7180    初次登陸 用戶名:admin 密碼:admin (此時測試能夠打開並順利登錄便可,先沒必要進行任何操做。)

本地源配置用以安裝CDH5

Parcel的能夠從以下網址得到,下載.parcel文件和manifest.json文件:

http://archive.cloudera.com/cdh5/parcels/5.3.2/

由於這如今環境裏用的是Centos6.4,因此這裏選擇下載如下三個文件:

http://archive.cloudera.com/cdh5/parcels/5.3.2/CDH-5.3.2-1.cdh5.3.2.p0.10-el6.parcel

http://archive.cloudera.com/cdh5/parcels/5.3.2/CDH-5.3.2-1.cdh5.3.2.p0.10-el6.parcel.sha1

http://archive.cloudera.com/cdh5/parcels/5.3.2/manifest.json

把如下載的以上文件拷貝到/opt/cloudera/parcel-repo/文件夾下,並修改屬主。在安裝CDH5時會自動調用該parcel源

chown -R cloudera-scm:cloudera-scm  /opt

 

而且把下載的.sha1文件重命名爲.sha ,命令以下:

mv CDH-5.3.2-1.cdh5.3.2.p0.10-el6.parcel.sha1  CDH-5.3.2-1.cdh5.3.2.p0.10-el6.parcel.sha

mv ./*.parcel  /opt/cloudera/parcel-repo/

 

注意事項:

打開manifest.json文件查看CDH-5.3.2-1.cdh5.3.2.p0.10-el6.parcel對應的編號,覈對與CDH-5.0.1-1.cdh5.0.1.p0.47-el6.parcel.sha文件內容是否相同,若是不一樣的話修改爲找到的編號

如下是manifest.json中CDH-5.3.2-1.cdh5.3.2.p0.10-el6.parcel對應的編號,這裏是:a1722a9c033d33ca4ed4558eaf6c10c803b06a16

{

           "parcelName":"CDH-5.3.2-1.cdh5.3.2.p0.10-el6.parcel",

           "components": [

                {

                   "pkg_version": "0.7.0+cdh5.0.1+0",

                   "pkg_release": "1.cdh5.0.1.p0.30",

                   "name": "bigtop-tomcat",

                   "version": "6.0.37-cdh5.0.1"

                },

                {

                   "pkg_version": "0.9.0+cdh5.0.1+23",

                    "pkg_release":"1.cdh5.0.1.p0.25",

                   "name": "crunch",

                   "version": "0.9.0-cdh5.0.1"

                },

              ............

                {

                   "pkg_version": "0.9.0+cdh5.0.1+8",

                   "pkg_release": "1.cdh5.0.1.p0.25",

                   "name": "whirr",

                   "version": "0.9.0-cdh5.0.1"

                },

                {

                   "pkg_version": "3.4.5+cdh5.0.1+30",

                    "pkg_release":"1.cdh5.0.1.p0.31",

                   "name": "zookeeper",

                   "version": "3.4.5-cdh5.0.1"

                }

            ],

           "replaces": "IMPALA, SOLR, SPARK",

            "hash":"a1722a9c033d33ca4ed4558eaf6c10c803b06a16"

        }

關於datanode節點的Agent安裝

datanode集羣主機比較多時,比較快捷省事的方法是在master節點搭建Yum軟件源用以安裝datanode節點的Agent推薦

一、yum install -y createrepo httpd ; mkdir -p  /var/www/html/cm/

二、把Cloudera Manager 5.3.2所需的對應系統類型的源rpm包下載到 /var/www/html/cm/ (此步上文已經交待進行過

    這裏下載地址爲 http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.3.2/RPMS/x86_64/

三、cd  /var/www/html/cm ; createrepo . (該createrepo命令執行的位置須對應 myrepo文件中的URL中的位置)

四、service httpd start

五、除在上文交待過的各節點的準備工做以外,還須要在各個datanode節點添加repo文件  vim  /etc/yum.repos.d/my.repo

[myrepo]

name=My Cloudera Manager

baseurl=http://主節點IP/cm/

gpgcheck=0

cost=300  

#cost權值默認爲1000,值越小優先級越高(適用於當同版本的包位於不一樣的repo中時,優先從本repo獲取)

  須要注意的一點是,repo 的優先級跟 *.repo 的文件名稱無關

六、登陸CM管理頁面,一路next進行相關「添加新主機」的操做.

 

CDH5的安裝配置

Cloudera Manager Server和Agent都啓動完之後,就能夠進行CDH5的安裝配置了。

這時能夠經過瀏覽器訪問主節點的7180端口測試一下了(因爲CM Server的啓動須要花點時間,這裏可能要等待一會才能訪問),默認的用戶名和密碼均爲admin:

能夠看到,免費版本的CM5已經沒有原來50個節點數量的限制了。

各個Agent節點正常啓動後,能夠在當前管理的主機列表中看到對應的節點。選擇要安裝的節點,點繼續。

接下來,出現如下包名,說明本地Parcel包配置無誤,直接點繼續就能夠了。

點擊,繼續,若是配置本地Parcel包無誤,那麼下圖中的已下載,應該是瞬間就完成了,而後就是耐心等待分配過程就好了,大約10多分鐘吧,取決於內網網速。

 

 

接下來是選擇安裝服務:

服務配置,通常狀況下保持默認就能夠了(Cloudera Manager會根據機器的配置自動進行配置,若是須要特殊調整,自行進行設置就能夠了):

接下來是數據庫的設置,檢查經過後就能夠進行下一步的操做了:

下面是集羣設置的審查頁面,我這裏都是保持默認配置的:

 

 

服務的安裝過程大約半小時內就能夠完成:

安裝完成後,就能夠進入集羣界面看一下集羣的當前情況了。

這裏可能會出現沒法發出查詢:對 Service Monitor 的請求超時的錯誤提示,若是各個組件安裝沒有問題,通常是由於服務器比較卡致使的,過一會刷新一下頁面就行了

 

 

注意紅色框內的部分,編輯主機模板時要勾選好具體的服務

 

 這樣在添加新datanode主機節點時,可使用已建立的模板爲其指定角色

添加角色實例到 單獨具體的服務:
 
 
 
 
一鍵卸載CM5:
/usr/share/cmf/uninstall-cloudera-manager.sh    
---------------------------------------------------------------------------------------------------

FAQ:

安裝時卡在正在獲取安裝鎖時,去agent節點  yum remove cloudera-manager-agent -y ,而後從新嘗試失敗的主機

 

參考文檔:

http://www.aboutyun.com/thread-9087-1-1.html

http://www.aboutyun.com/thread-9078-1-1.html

相關文章
相關標籤/搜索