如何搭建CDH集群環境?

實驗室機器配置情況:

3台PowerEdge R730 Server

1台PowerEdge R410 Server

1台kvm

1台交換機

網線若干

打算配置三個節點規模的集群,所以計劃集群用1一個namenode。

本篇文章介紹如何在一個計算機集群上搭建Hadoop平台。hadoop的主體用java語言寫成,能夠在任意一個安裝了jvm(Java Virtual Machine)(Java虛擬機)的平台上運行。

第一部分:系統準備篇

集群規範:

1. 給伺服器裝linux系統:統一安裝版本centos 6.5 64bits

2. 安裝java環境:

查看系統安裝的java版本:rpm -qa|grep jdk

rpm -qa | grep java

rpm -e –nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

yum -y remove java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686 或者

rpm -e –nodeps java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686

修改環境變數:vim /etc/profile,增加如下內容:

export JAVA_HOME=/usr/java/jdk1.8.0_25

export CLASSPATH=.:JAVAHOME/jre/lib/rt.jar:JAVA_HOME/lib/dt.jar:

JAVAHOME/lib/tools.jarexportPATH=PATH:$JAVA_HOME/bin

使用java -version 查看java是否安裝正確

安裝java 輸入指令:java -version 檢查java是否被正確安裝

[root@hadoop-02 ~]# java -versionnjava version "1.7.0_80"nJava(TM) SE Runtime Environment (build 1.7.0_80-b15)nJava HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)n

3.SSH配置實現免密碼登錄節點

(關鍵是把datanode的authorized_keys追加到namenode的authorized_keys中)

hadoop控制腳本依賴ssh來執行針對整個集群的操作,因此為了支持無縫工作,建議安裝ssh。安裝完畢以後,就能夠使得hadoop集群節點之間無需鍵入密碼即可登錄集群內的機器,進行集群配置,主要有以下幾步:

a) 在控制台運行ps –e | grep ssh,如果看到sshd則表示ssh-server已經啟動了,跳過b),直接到c)進行操作;否則,進行b)操作;

b) 運行sudo apt-get install openssh-server(伺服器)

sudo apt-get install openssh-client(客戶端),進行安裝。命令執行結束後,可以使用a)方法進行驗證; c)生成RSA公私鑰,實現節點之間無密碼訪問(使得集群的安裝環境儘可能一致,可以減少很多配置步驟,因此我們都在root許可權下面進行配置): I) 在master上使用root許可權登陸系統,並進入/root/.ssh

目錄,運行命令ssh-keygen –t rsa,敲回車到底(為操作方便我們選擇不要密碼),生成id_rsa,id_rsa.pub; II) master使用scp命令將公鑰遠程複製到salve1和slave2:

複製到slave1:scp -r id_rsa.pub root@slave1:/root/.ssh

複製到slave2:scp -r id_rsa.pub root@slave2:/root/.ssh III) 在slave1和slave2下,將master

傳過來的公鑰添加到 authorized_keys:

cat id_rsa.pub >> authorized_keys IV) 至此,master到slave1和slave2即實現了無密碼登陸

第二部分:安裝CDH(Cloudera Distribution Hadoop)管理端

1.Cloudera的CDH和Apache的Hadoop的區別

Hadoop遵從Apache開源協議,用戶可以免費地任意使用和修改Hadoop,也正因此,市面上出現了很多Hadoop版本,其中比較出名的一是Cloudera公司的發行版,我們將該版本稱為CDH(Cloudera Distribution Hadoop)。 本文講解了在CentOS 6環境下搭建本地Yum軟體源,區域網內的用戶在完全不連互聯網的情況下,完成CM的安裝。讓安裝CM的用戶體驗到一路next,然後finish的順暢感,速度是用戶的第一體驗。

2.CDH支持Yum/Apt包,Tar包,RPM包,Cloudera Manager四種方式安裝,Apache hadoop只支持Tar包安裝

3.CDH使用推薦的Yum/Apt包安裝時,有以下幾個好處:

a、聯網安裝、升級,非常方便 ,自動下載依賴軟體包

b、Hadoop生態系統包自動匹配,不需要你尋找與當前Hadoop匹配的Hbase,Flume,Hive 等軟體,Yum/Apt會根據當前安裝Hadoop版本自動尋找匹配版本的軟體包,並保證兼性。

c、自動創建相關目錄並軟鏈到合適的地方(如conf和logs等目錄);自動創建hdfs, mapred用戶,hdfs用戶是HDFS的最高許可權用戶,mapred用戶則負責mapreduce執行過程中相關目錄的許可權

4.檢查是否存在httpd服務:service httpd status

yum install httpd ,CentOS6默認安裝了httpd,啟動:service httpd start

httpd常用命令如下,供參考:

啟動命令:service httpd start

關閉命令:service httpd stop

重啟命令:service httpd restart

查看狀態:service httpd status

下載地址:Index of /cm5/repo-as-tarball/5.2.0

Cd /home/soft/cloudera (cm5.2.0-centos6.tar.gz存儲的目錄)

解壓:tar -zxvf cm5.2.0-centos6.tar.gz

cd /var/www/html ,創建相關目錄:mkdir -p cm5/redhat/6/x86_64

cd cm5/redhat/6/x86_64

mv /home/soft/cloudera/cm .

chmod -R ugo+rX cm

訪問http://<hostname>/cm5/redhat/6/x86_64/cm/,測試文件索引頁面是否正常,如果頁面空

白或者為You dont have permission to access,請檢查準備工作中的防火wget是否關閉。

5.離線安裝ClouderanManager 5

在安裝manager的機器上首先安裝postgresql,用在存儲manager的管理信息,postgresql的下載地址: http://yum.postgresql.org/8.4/redhat/rhel-6-x86_ 6 4/repoview/n上下載postgresql8.4的包,需要下載三個包:

postgresql84-libs-8.4.21-1PGDG.rhel6.x86_64.rpm

postgresql84-8.4.21-1PGDG.rhel6.x86_64.rpm

postgresql84-server-8.4.21-1PGDG.rhel6.x86_64.rpm

然後依次安裝,安裝命令為:rpm -ivh +文件名稱

postgresql包說明,供參考:

postgresql包含許多不同的包,包括第三方類庫,通常安裝最重要的包即可(能滿足大部分應用需求)。這些包如下:

postgresql - 客戶端類庫及二進位文件

postgresql-server - 核心的資料庫伺服器

postgresql-contrib - 附加的供應組件

postgresql-devel - 用戶C語言開發的類庫和頭文件

pgadmin3 - 資料庫圖像化管理工具第三版

Cd /etc/yum.repos.d/,刪除下面的所有文件,或者改下repo的後綴,新建文件myrepo.repo,內容如下,這樣的話,系統就會在本地讀取安裝資源信息。

[myrepo]

name=myrepo

baseurl=172.31.151.59/cm5/redha

enabled=1

gpgcheck=0

Ip為222.12.151.197 的機器名為archive.cloudera.com,並在各個機器上的/etc/hosts文件中

6.下載CM5安裝文件

從 http://archive-primary.cloudera.com/cm5/installer/?;下載:cloudera-manager-installer.bin 實際上是安裝引導文件,在安裝過程中動態下載安裝中需要的rpm包。

7.安裝CM5

給 cloudera-manager-installer.bin 添加可執行許可權:

chmod +x cloudera-manager-installer.bin

進行安裝:

./cloudera-manager-installer.bin

彈出安裝圖形界面,一路next、accept就可以了,最後出現下面的提示框,讓你訪問 localhost:7180/,就說明已經安裝成功了。

第三部分:安裝Hadoop以及相關服務

ClouderanManager有GUI管理CDH集群,跟著嚮導安裝步驟。由於需要對Hive,HBase,Impala,Spark進行功能測試,就採用 了Cloudera Manager方式進行安裝。ClouderanManager提供兩種軟體包安裝源,Packagen和 Parcel:Package就是一個個rpm文件,我們採用yum的方式來組織。

用rpm包安裝,目錄都是默認的比較規範 用root用戶: rpm -ivh /opt/colud/hadoop-1.2.1-1.x86_64.rpm。通過CM可以更快地搭建環境,你需要做的就是添加服務,CM5將hadoop集群管理的複雜度大大降低。另外在安裝hive的時候要記得將hive元資料庫的密碼記下來。
推薦閱讀:

hadoop web管理Hue,Ambari 和CM 的區別是什麼?
有什麼方案可以代替 Impala?
Spark可以完全替代hadoop嗎?
SparkSQL中的Sort實現(二)
Hadoop和Spark的異同

TAG:大数据 | Hadoop | 服务器集群 |