離線安裝Cloudera Manager 5和CDH5

     今天介紹一下:在linux系統下,如何通過CDH搭建集羣.

1.1Cloudera Manager簡介

 

Cloudera Manager是一個擁有集羣自動化安裝、中心化管理、集羣監控、報警功能的一個工具(軟件),使得安裝集羣從幾天的時間縮短在幾個小時內,

運維人員從數十人降低到幾人以內,極大的提高集羣管理的效率。

Cloudera Manager有四大功能:
   1)管理:對集羣進行管理,如添加、刪除節點等操作。
   2)監控:監控集羣的健康情況,對設置的各種指標和系統運行情況進行全面監控。
   3)診斷:對集羣出現的問題進行診斷,對出現的問題給出建議解決方案。
  4)集成:對hadoop的多組件進行整合

1.2 CDH簡介

 

CDH全稱 Cloudera's Distribution, including Apache Hadoop

Hadoop衆多分支中的一種,由Cloudera維護,基於穩定版本的Apache Hadoop構建

提供了Hadoop的核心
可擴展存儲
分佈式計算
基於Web的用戶界面

 

1.3 系統環境

1)操作環境:linux系統,CentOS 6.5 x64

2)所需軟件:ClouderaManager版本5.7.5

下載地址:http://archive.cloudera.com/cm5/cm/5/

             CDH版本:5.7.5

3)安裝方式:

方共給出了3安裝方式:

第一種要求所有機器都能連網,但是由於連接的是外網~~你們懂得,問題很多,成功安裝記錄很低

第二種需要下載很多包。

第三種離線安裝    方法對系統侵入性最小,最大優點可實現全離線安裝,而且重裝非常方便。後期的集羣統一包升級也非常好。

基於以上原因,我們選擇第三種安裝方式

1.4 用戶配置

   Linux系統對於用戶的權限管控是很嚴格管理員root用戶具有最大的權限,爲了保障系統穩定性和減少誤操作而導致系統奔潰的問題,root用戶一般不作爲常規的用戶。

因此對於cdh平臺的搭建,我們需要單獨創建用戶,可以方便權限的管控

      這裏我們創建用戶:hmaster密碼:matercom168

1.5網絡配置

  1)修改主機名:

假定我們發現我們的機器的主機名不是我們想要的,通過對"/etc/sysconfig/network"文件修改其中"HOSTNAME"後面的值,改成我們規劃的名稱。

輸入命令:# vi /etc/sysconfig/network 將主機名修改爲:gp-master

 

從節點的名字:從go-node01開始類推。

通過service network restart使之生效。

2)修改ip地址

使用 ifconfig命令查看本機的ip地址,如果和理想的有出入,就要重新設置本機的ip地址

使用 vi /etc/sysconfig/network-scripts/ifcfg-eth0 命令對ip地址進行修改

 

3)在/etc/hosts文件裏配置集羣裏的所有節點的ip地址和主機名

   輸入命令:# vi /etc/hosts 配置好集羣裏的所有節點的ip地址和主機名

注意:本機的也要寫進去!

192.168.137.128 gp-master

192.168.137.129 gp-node01

   

1.6 配置ssh免密登錄

通過ssh免密登錄,我們在集羣的各個節點之間進行操作不必頻繁的輸入密碼,會很大程度的提供開發的效率。

首先,通過ssh-keygen -t rsa生成無密碼的密鑰對,期間連續按3次回車,結果如下:

 

將公鑰添加到認證文件中,cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

 

並設置authorized_keys的訪問權限:# chmod 600 ~/.ssh/authorized_keys

 

將集羣裏其他節點的公鑰追加到主節點,主節點在使用scp命令同步到每一個節點上。

 

在主節點上使用命令ssh gp-node02,無需輸入密碼成功進入名稱節點。

使用ifconfig命令查看當前ip,顯示如下:

 

說明免密登錄配置成功。

 

 

 

1.7 配置java環境變量

1)安裝jdk

在官網上下載好jdk之後,通過軟件,FileZilla將壓縮包拖放usr/local/java目錄下,如果沒有java目錄,就使用 mkdir java命令在usr/local目錄下創建java

使用命令tar -zxvf jdk7u79linuxx64.tar.gz解壓

 

2)配置環境變量主要有兩種方式:

一種是通過vi /etc/profile,這種方式是對所有用戶生效,並且具有最高的優先級

另一種是通過vi .bash_profile,這種方式是隻對當前用戶(我們這裏的用戶是hmaster

執行以下命令:

 

在這裏我採用的是第一種方式:

在原配置文件添加:

# set java environment

export JAVA_HOME=/usr/local/java/jdk1.7.0_79  

export JRE_HOME=/usr/local/java/jdk1.7.0_79/jre  

export PATH=$PATH:/usr/local/java/jdk1.7.0_79/bin 

 

 

3)使配置生效並進行驗證

更改完之後,使用source /etc/profile保存配置

之後輸入  java -version查看當前版本,出現如下證明:環境變量配置成功.

 

 1.8 關閉防火牆

防火牆不關掉的話在之後的過程中會出現一些莫名其妙的問題,因此我們提前將防火牆關閉以絕後患。

首先使用service iptables stop臨時關閉防火牆,這種方式重啓後防火牆會生效

接下來使用 chkconfig iptables off命令永久關閉防火牆

以上兩個命令執行完畢後使用查看防火牆狀態service iptables status

顯示如下:證明防火牆已經關閉。

 

1.9安裝MySql

使用命令 # rpm -pa | grep mysql 查看本機是否安裝MySql,

如果已經安裝使用命令rpm -ev mysql文件名--nodeps刪除。

使用yum命令安裝mysqlyum install mysql

 

選中的版本爲我們所需要的。

 

使用 yum install mysql-server.x86_64安裝需要的mysql

使用chkconfig mysqld on設置爲開機啓動,service mysqld start啓動MySql服務

按照如下截圖所示的命令mysqladmin -u root password 'mastercom168'

設置密碼,我設置的是mastercom168

之後輸入用戶名和密碼  mysql -uroot -pmastercom168

,進入到MySql服務,MySql安裝完成。

 

接下來創建我們所需要的數據庫

#hive  hive數據庫

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

#activity monitor

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

設置root授權訪問以上所有的數據庫:

#授權root用戶在主節點擁有所有數據庫的訪問權限

grant all privileges on *.* to 'root'@'gp-master' identified by 'mastercom168' with grant option;

flush privileges;

 

1.10所有的節點配置時間同步服務

集羣中所有主機必須保持時間同步,如果時間差距過大,回引起各種問題。

在主節點和從節點輸入date,可以看到,我的集羣裏各個節點之間的時間是同步的。

 

 

我這裏就不用配置時間同步。

 

附:時間同步的配置方法:

如果各個主機上的時間不同步或者存在較大差異時,需要配置時間同步。

gp-master節點作爲ntp服務器與外界對時中心同步時間,隨後對所有datanode節點提供時間同步服務。

所有datanode節點以master節點爲基礎同步時間。

所有節點安裝相關組件:yum install ntp

完成後,配置開機啓動:chkconfig ntpd on

檢查是否設置成功:chkconfig --list ntpd

其中2-5on狀態就代表成功。

 

主節點配置

在配置之前,先使用ntpdate手動同步一下時間,免得本機與對時中心時間差距太大,使得ntp不能正常同步。這裏選用主節點作爲對時中心ntpdate -u 192.168.137.128

 

ntp服務只有一個配置文件,/etc/ntp.conf,適當修改該文件即可

這裏只給出有用的配置,其餘的配置都用#注掉,這裏就不在給出:

driftfile /var/lib/ntp/drift

restrict default nomodify notrap nopeer noquery

restrict 127.0.0.1

restrict ::1

server gp-master #(主機名或ip)

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

disable monitor

配置文件完成,保存退出。

啓動服務,執行如下命令:service ntpd start

檢查是否成功,用ntpstat命令查看同步狀態,出現以下狀態代表啓動成功:

 

如果出現異常請稍等片刻。

 

配置ntp客戶端(所有datanode節點):同主節點。

ok保存退出。

請求服務器前,先使用ntpdate手動同步一下時間:

ntpdate -u gp-master(主節點ntp服務器)

 

這裏可能出現同步失敗的情況,請不要着急,一般是本地的ntp服務器還沒有正常啓動,一般需要等待5-10分鐘纔可以正常同步。

啓動服務:service ntpd start

如此,時間同步配置完成。

2Cloudera Manager服務配置

有了上述的準備工作之後,接下來可以正式開始集羣的安裝。

以上的準備工作的細節必須注意!

哪一點沒有注意到都會導致之後的安裝失敗!

 

2.1安裝Cloudera Manager ServerAgent

主節點解壓安裝cloudera manager的目錄默認位置在/opt下,解壓:tar -zxvf cloudera-manager*.tar.gz

我們將解壓後的cm-5.7.5cloudera目錄放到/opt目錄下。

2.2 Cloudera Manager建立數據庫

首先需要去MySql的官網下載JDBC,http://dev.mysql.com/downloads/connector/j/

 

解壓後,找到mysql-connector-java-5.1.45-bin.jar

放到/opt/cm-5.7.5/share/cmf/lib/中。

在主節點初始化CM5的數據庫:

執行命令:/opt/cm-5.7.5/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pmastercom168 --scm-host localhost scm scm scm

2.3 Agent配置

修改/opt/cm-5.7.5/etc/cloudera-scm-agent/config.ini中的server_host爲主節點的主機名。gp-master

同步Agent到其他節點:

scp -r /opt/cm-5.7.5 root@gp-node02:/opt/

在所有節點創建cloudera-scm用戶:

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

 

準備Parcels,用以安裝CDH5

   

2.4 配置Parcel

CHD5相關的Parcel包放到主節點的/opt/cloudera/parcel-repo/目錄中。

 

相關的文件如下:

 

CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel

CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha1

manifest.json

 

最後將CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha1,重命名爲CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha使用命令:

 mv CDH-5.7.5-1.cdh5.7.5.p0.3-el6.parcel.sha1 CDH-5.7.5-1.cdh5.7.5.p0.3-el6.parcel.sha

 

這點必須注意,否則,系統會重新下載CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel文件。

 

啓動相關腳本主節點的ServiceAgent,其餘節點的Agent.

 

主節點通過/opt/cm-5.7.5/etc/init.d/cloudera-scm-server start啓動服務端。

 

所有節點通過/opt/cm-5.7.5/etc/init.d/cloudera-scm-agent start啓動Agent服務。

 

我們啓動的其實是個service腳本,需要停止服務將以上的start參數改爲stop就可以了,重啓是restart

輸入命令 lsof -i :7180檢測7180端口的狀態:

 

上面的結果說明,7180端口已經啓動,我們就可以通過界面監控集羣了

2.5 啓動及驗證

上面的主節點的service和所有節點的agent全部成功啓動之後,

就可以通過瀏覽器輸入主節點的ip:7180進入cloudera manager界面進行操作

如圖,輸入:192.168.137.128:7180進入界面

(service剛剛啓動,可能不能馬上進入界面,稍等一下即可)

 

默認的賬戶名和密碼都是admin.

輸入 admin

     admin

點擊登錄,完成登錄操作。

 

 

 

3CDH集羣安裝

根據界面上的提示進行CDH集羣的安裝


3.1 CDH集羣安裝指定主機

 

在是的,我接受最終用戶許可條款和條件點擊一下,

點擊繼續進行下一步。

 

 

接下來要爲cdh羣集安裝指定主機。

注意要選擇當前管理的主機(點擊新主機旁邊的位置)!

將集羣裏所有的節點全部選上!!

如果有哪個應該出現的節點沒有出現,

就說明該節點的agent啓動出現了問題。

就去它的agent日誌文件下面排查問題。

agent日誌文件存放在:/opt/cm-5.7.5/log/cloudera-scm-agent目錄下

 文件名是: cloudera-scm-agent.log

 

點擊使用Parcel,進行路徑的設置

這個路徑很關鍵,如果設置有問題的話就會進行在線安裝,不僅耗時,還會出現各種各樣的問題!

如果你將cm的安裝包放在了opt包下面,前面兩個的路徑就沿用默認的配置!

如果使用的是自定義路徑,就將opt替換爲實際的路徑!

選擇安裝版本,這裏我使用的是CDH5.7.5

剩下的使用默認的選項即可。

 

 

 

3.2 檢查主機的正確性

 

點擊繼續進行下一步,檢查主機的正確性

這裏,有問題的話要解決問題。

這裏驗證全部正確,卻提示了兩個警告。

這兩個警告如果不處理可能對我們的集羣產生影響。

 

第一個警告的處理方式,執行echo 0 > /proc/sys/vm/swappiness命令

將該環境變量臨時設置爲0

對於第二個警告:使用命令:

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

並且修改文件   vi /etc/rc.local

在文件的末尾加上該命令:

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

 

 

 

 

拖到該界面的下面,我們看到:這是Cloudera Manager下對應的各種軟件的版本

可以看到,我們關注的幾個軟件:

Hadoop2.6.0Spark1.6.0

Hbase1.2.0Hive1.1.0

都是我們熟悉的版本。

 

 

 

 

 

點擊完成

 

3.3 集羣設置

 

接下來開始進行集羣的設置,選擇需要安裝的CDH5服務,這裏,我選擇安裝全部。即點擊

所有服務。

可以根據實際需要選擇自定義服務,選擇自己所需要的組件進行安裝。

建議不要像我這麼選,先只安裝核心組件,這樣會增加安裝成功機率,後面需要什麼在安裝什麼也是可以的.

 

 

3.4自定義角色分配

 

自定義各個組件的分配。確定某個組件安裝在集羣的哪個節點上。

這裏,全部根據默認配置搭配即可。

 

 

 

3.5數據庫檢測

 

這裏,就用到了文檔開始時安裝MySql時我們創建的兩個數據庫。

一個是amon,一個是hive

用戶名均爲root ,密碼均爲mastercom168

輸入結束後,點擊測試連接檢驗數據庫。

如圖,兩個數據庫連接均提示Successful。這是,可以點擊繼續進行下一步。

 

3.6目錄設置

 

這一步,我們主要配置各個組件的一些重要屬性,及其數據的存儲目錄,總結如下:

HDFS的根目錄,          存在/hbase路徑下

DataNode數據目錄,       存在/dfs/dn目錄下

HDFS檢查點目錄,         存在/dfs/snn目錄下

NameNode數據目錄,      存在/dfs/nn目錄下

Hive倉庫目錄,            存在/usr/hive/warehouse

Hive Metastore服務器端口:   9083

Impala Daemon暫存目錄:   /impala/impalad

HDFS數據目錄:   /solr

NodeManager本地目錄:   /yarn/nm

數據目錄:   /var/lib/zookeeper

事務日誌目錄:   /var/lib/zookeeper

 

 

 

 

 

 

 

3.7組件首次運行

集羣裏配置好的組件進行首次運行操作!

 

全部運行成功後點擊完成即可!

之後就可以通過界面管理集羣啦!

4通過界面管理集羣

 

4.1 羣集

 

 

主要包括3個部分:Cluster 1 

服務(集羣裏面安裝的各種組件)

Cloudera Management Service

點進某個板塊,點擊板塊右上角的操作,可以對集羣的某個組件進行操作:

主要包括,啓動,停止,重啓,等

配置下,可以完成對一些服務,和關鍵目錄,屬性等的配置。

狀態下,可以完成對某個組件狀態的監控。

還可以以圖表這種更直觀的形式顯示集羣的運行狀況。


 

4.2 主機

 

主機目錄下主要包括:所有主機,角色,主機模型,磁盤概述,Parcel等幾個模塊

我們可以直觀的瞭解到主機的各種信息以及主機的運行狀態。

 

 

4.3 診斷

 

診斷界面主要包括事件,日誌,服務器日誌等信息。

事件:可以通過指定的內容(組件)和關鍵詞來查看你想了解的信息

通過對日誌,服務器日誌的查看和分析,可以更加直觀方便的定位問題並解決問題


 

 

4.4 審覈

主要記錄服務器開啓關閉,以及用戶的登錄信息

 

 

4.5 圖表

 

包括:圖表生成器,新儀表板,管理儀表板

圖表生成器:通過輸入查詢來構建圖表,可以根據實際需要選擇各種類型的圖表。

 

新儀表板

 

管理儀表板:包括創建儀表板和導入儀表板


5.6 管理

 

管理界面包括:設置,警報,用戶,安全,許可證,語言

語言,用戶,安全等信息進行管理,並對集羣的關鍵性信息進行設置。

 


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