Cloudera Manager 5和CDH5離線安裝

一、相關軟件準備及規劃

1、相關軟件及下載地址:

Cloudera Manager:http://archive-primary.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.9.0_x86_64.tar.gz
CDH安裝包地址:http://archive.cloudera.com/cdh5/parcels/5.9.0/CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel
JAVA各版本歸檔下載(無需登陸):https://www.reucon.com/cdn/java/
MySql的JDBC驅動jar包:http://dev.mysql.com/downloads/connector/j/

2、下載後所得文件如下:

  1. cloudera-manager-el6-cm5.5.3_x86_64.tar.gz
  2. CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel
  3. CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1
  4. manifest.json
  5. mysql-connector-java-5.1.38.tar.gz(解壓后里面有相當的jar包)
  6. java下載版本建議大於等於1.7以上版本

CDH-5.3.9-1.cdh5.3.9.p0.8-el6.parcel 該包比較大,後面離線安裝時是將本包的內容解壓後上傳到各個節點上的,CDH-5.3.9-1.cdh5.3.9.p0.8-el6.parcel.sha1該文件後續使用時需要改下名字,這個一定需要注意。

3、主機規劃

我這裏選取了5臺主機安裝,在測試時一般建議主機數量一定要大於2臺以下。5臺主機命名如下:

  1. nn1.hadoop.com 192.168.0.10
  2. nn2.hadoop.com 192.168.0.11
  3. dn1.hadoop.com 192.168.0.12
  4. dn2.hadoop.com 192.168.0.13
  5. dn3.hadoop.com 192.168.0.14

二、主機環境配置

主機配置分IP地址、主機名、java環境、句柄數優化幾項,具體如下:

1、IP配置

  1. # cat /etc/sysconfig/network-scripts/ifcfg-eth0
  2. DEVICE=eth0
  3. TYPE=Ethernet
  4. ONBOOT=yes
  5. NM_CONTROLLED=yes
  6. BOOTPROTO=none
  7. IPADDR=192.168.0.10
  8. PREFIX=24
  9. GATEWAY=192.168.0.1
  10. DEFROUTE=yes
  11. IPV4_FAILURE_FATAL=yes
  12. IPV6INIT=no

2、主機名配置

  1. # cat /etc/sysconfig/network
  2. HOSTNAME=nn1.hadoop.com

並在hosts文件裏做下幾臺主機的IP指向。如果內部搭建的有DNS服務器,/etc/hosts指定可以省略。

3、JAVA環境變量配置

這部分可以參看另一篇博文 --- jDK的安裝 

4、句柄數優化

修改/etc/security/limits.conf文件,增加如下內容:

  1. * hard nofile 65535
  2. * soft nofile 65535

5、ssh密鑰打通

這一個是非必須的,cloudera-manager對各個節點安裝hdfs、flume、hive等應用時不依賴ssh進行傳輸的,其基於agent程序通信、傳輸、安裝文件。如果想要ssh密鑰打通可以參看我的另一篇博文---linux配置ssh公鑰認證 。

6、iptables與selinux

  1. service iptables stop (臨時關閉)
  2. chkconfig iptables off (重啓後生效)
  3. setenforce 0 (臨時生效)

修改/etc/selinux/config 下的模式爲 SELINUX=disabled (重啓後生效)。

7、ntp對時配置

選取其中一個節點服務器向外網對時,其他主機對該主機對時。由於ntp服務配置相當簡單,這裏也略過。

同樣,按上述方法,對上例中的五臺主機做下修改。

三、Cloudera Manager安裝

先將下載好的Cloudera Manager包上傳到其中一臺服務器。並在/opt下解包---強烈建議到/opt下,因爲默認路徑是在/opt下,如果解壓到其他路徑下應用,配置文件會涉及到多項修改。

1、mysql 服務的配置

下載安裝mysql 並啓動

  1. [root@nn1 opt]# yum -y install mysql-server
  2. [root@nn1 opt]# /etc/init.d/mysqld start
  3. [root@nn1 opt]# /usr/bin/mysqladmin -u root password 'hadoop'
  4. [root@nn1 opt]# chkconfig mysqld on

創建hive和監控服務mysql 庫

  1. mysql> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
  2. mysql> create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
  3. mysql> grant all on *.* TO 'root'@'%' IDENTIFIED BY 'hadoop';

a、在標準安裝中hive庫是必須的,monitor監控數據庫爲可選庫---如果在安裝時不選擇安裝hive服務的話,也可以不創建hive庫。

b、給root用戶授權所有主機可以登陸是因爲hive和監控會涉及到多個服務,當服務不是安裝在同一臺主機上時,會出現需要通過其他主機連接上面創建的數據庫的問題,這樣就會造成失敗。如果出於安全考慮,可以給mysql 用戶授權時,只指定hadoop所在的網段。

第二種方法,採用外部配置,只需修改/opt/cm-5.9.0/etc/cloudera-scm-server/db.properties 修改代碼如下:

# Copyright (c) 2012 Cloudera, Inc. All rights reserved.
#
# This file describes the database connection.
#

# The database type
# Currently 'mysql', 'postgresql' and 'oracle' are valid databases.
com.cloudera.cmf.db.type=mysql

# The database host
# If a non standard port is needed, use 'hostname:port'
#com.cloudera.cmf.db.host=localhost
com.cloudera.cmf.db.host=10.10.*.*

# The database name
#com.cloudera.cmf.db.name=cmf
com.cloudera.cmf.db.name=cmf

# The database user
#com.cloudera.cmf.db.user=cmf
com.cloudera.cmf.db.user=**

# The database user's password
#com.cloudera.cmf.db.password=
com.cloudera.cmf.db.password=**

# The db setup type
# By default, it is set to INIT
# If scm-server uses Embedded DB then it is set to EMBEDDED
# If scm-server uses External DB then it is set to EXTERNAL
com.cloudera.cmf.db.setupType=EXTERNAL


2、導入數據庫

mysql jar包放入lib庫

將下面好的mysql jdbc 包裏的jar文件取出放到/opt/cm-x.x.x/share/cmf/lib/中,其中x.x.x爲cloudera manager的版本號。由於目前mysql是甲骨文公司下的產品,所以沒有開源授權,所以其他產品在進行mysql支持時,都需要從mysql官站上自行下載放入lib包。而cloudera manager支持的postgresql和oracle沒有這個問題(有點不明白爲什麼oracle不存在這個問題,NND的甲骨文)。

創建用戶

創建cloudera-scm用戶

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

上面這個用戶需要在五臺主機上都創建,不然在後面web界面管理安裝時,在check項會錯,提示不存在cloudera-scm用戶。

導入數據

  1. /opt/cm-5.5.3/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pxxxx --scm-host localhost scm scm scm

3、agent配置

修改/opt/cm-5.5.3/etc/cloudera-scm-agent/config.ini中的server_host爲主節點的主機名---也可以使用IP,但建議使用主機名,這樣涉及到IP變動時,直接在DNS或hosts裏做下IP指向修改即可。這個配置文件裏也會一些其他項的設置,有興趣的可以自行查看下。

並通過scp或其他工具將/opt/cm-5.5.3目錄複製到其他agent主機上的opt目錄下。agent複製一定要在啓動前複製,啓動後會產生uuid,複製到其主機再啓動,會報UUID相關的報錯。

4、Parcels離線包設置

將CHD5相關的Parcel包放到主節點的/opt/cloudera/parcel-repo/目錄中(parcel-repo不存時即手動創建)。將之前下載好的如下三個文件複製進該目錄:

  1. CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel
  2. CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1
  3. manifest.json
  4. 下載

需要將CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1文件重命名爲CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha,否則系統會重新下載parcel包。這個包有1個多G,hadoop常用的生態用應都包含在這個包裏。

5、啓動manager和agent服務

  1. 通過/opt/cm-5.9.0/etc/init.d/cloudera-scm-server start啓動服務端;
  2. 通過/opt/cm-5.9.0/etc/init.d/cloudera-scm-agent start啓動Agent服務。

同理,也可以stop和restart 。

四、通過cloudera manager安裝CDH5

cloudera manager默認使用的端口有兩個---7180是web界面使用的端口,7182是和agent通信使用的端口。可以通過瀏覽器打開:http://cloudera manager ip:7180 打開管理界面,默認用戶名密碼都是admin 。

cm-login

登陸完成後,會讓我們選取版本,我們選擇免費的cloudera express,在很早之前的版本中express版只允許50個節點,目前已經沒有這個限制。選擇完成後,會對express版本倚重個簡單的內容介紹,如下:

cm-cdh

由於agent啓動前,我們通過配置文件指定了manger主機的IP,所以這裏可以發現manager已經接管了5臺主機

chd-hosts

增加主機這項也可以通過新主機項中輸入IP後自動搜索

new-hosts

這裏的安裝我們由於是離線安裝,選擇parcel 安裝

chd-install

這裏會有一些選擇設置,之所以選擇opt下就是由於默認是在opt下的。向下拉還會有更多的配置,由於版面原因,其他部分我示截取

parcel

在不增加cloudera-scm用戶或未將swappiness設置爲0時,會有警告信息,修改後,可以重新check一次

hosts-check

這裏是選擇需要安裝的服務,我這裏選擇的核心hadoop,這裏可以根據自己需要進行選擇

chd-setup

下面這個圖是本篇的主題部分,之所以開篇未選擇其他安裝方式,就是因爲這個圖表將hadoop主要生態圈的應用和功能做了一個詳細的概述

chd-services

默認會根據配置隨機指定每臺主機安裝的服務,不通這下圖這裏可以在每個組件對應的功能模塊上指定相應的主機

chd-role

數據庫安裝部分,這裏也可以使用postgresql 和 oracle,這裏既然選擇mysql,同樣需要/opt/cloudera/parcels/CDH-5.3.9-1.cdh5.3.9.p0.8-el6/lib/hive/lib/下 ,由於這裏很容易出錯,所以上面建庫後建議先在其他主機上通過mysql -h -u連接測試下

chd-mysql

後面的安裝進度就略過了,無非是一段時間的等待後進入安裝完成界面。安裝完成後通過查看上面的功能模塊可以發現,儘管是express版本的cloudera manager,功能還是十分強大的。

cdh-facility

在manager上我們可以新增節點,配置kerberos或ldap認證,一般的監控,數據的查詢和展示等。

本篇先寫到這裏,後面會介紹通過yum包的方式,一步步的安裝各個組件和模塊。

捐贈可以獲取網盤上關於本篇的更詳細截圖信息喲!http://pan.baidu.com/s/1kU4kApx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章