Hadoop cdh版本搭建

cdh版本下載地址

1 概述

本文是針對LinuxCentos7服務器與CDH5.11的安裝手冊。

1.2 關於CDH和ClouderaManager

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

ClouderaManager(本文以下簡稱爲CM)則是爲了便於在集羣中進行Hadoop等大數據處理相關的服務安裝和監控管理的組件,對集羣中主機、Hadoop、Hive、Spark等服務的安裝配置管理做了極大簡化。架構圖如圖1所示。

圖1

1.3 術語介紹

CM: Cloudera Manager (Cloudera公司專有的Hadoop集羣管控平臺);

CDH: Cloudera Distributed Hadoop(Cloudera公司重新打包發佈的Hadoop版本);

HDFS:分佈式文件系統;

HBASE: 基於HADOOP的分佈式、列式存儲數據庫;

HIVE: 基於大數據技術(文件系統+運算框架)的SQL數據倉庫工具;

MAPREDUCE: 分佈式運算程序開發框架;

SPARK:爲大規模數據處理而設計的快速通用的計算引擎;

ZOOKEEPER: 分佈式協調服務基礎組件;

YARN: 負責集羣資源的統一管理和調度,分配系統資源給各個應用程序。

2  環境要求

2.1 環境要求

Cloudera Manager5安裝遇到很多的問題,安裝ClouderaManager如果不注意,會成爲一部血淚史。爲了避免多次、重複安裝不成功,所以你需要具備以下條件。

1.  內存要足夠大,主機必須至少有10 GB的RAM;

2.  必須具有root或無密碼sudo訪問主機;

3.  如果使用root,則主機必須接受相同的root密碼;

4.  主機必須具有Internet訪問權限才能使嚮導從中安裝軟件 archive.cloudera.com;

5.  運行支持的操作系統:

RHEL兼容系統

   Red Hat Enterprise Linux和 CentOS 5.7, 64位;

   Red Hat Enterprise Linux和CentOS 6.4, 64位;

   Red Hat Enterprise Linux和 CentOS 6.4 in SE Linux Mode;

   Red Hat Enterprise Linux和 CentOS 6.5, 64位;

   Oracle Enterprise Linux5.6(UEK R2),64位;

   Oracle Enterprise Linux6.4(UEK R2),64位;

   Oracle Enterprise Linux6.5(UEK R2,UEK R3),64位。

SLES - SUSE Linux Enterprise Server 11,64位。

Debian - Debian 7.0和7.1,64位。

Ubuntu - Ubuntu 12.04,64位。

2.1   主機規劃

本次我設定安裝5個節點的集羣環境,所以我們分配好ip地址和主機功能。以下是我的服務器信息,僅供參考:

序號

環境類型

具體名稱

數量

IP地址

用途

規格詳細

備註

1

硬件

Centos7-01

1

192.168.31.24

作爲cloudera  agent

內存:8G

CPU:4核

硬盤:100G

可支持虛擬環境

Centos7-02

1

192.168.31.25

作爲cloudera agent

內存:8G

CPU:4核

硬盤:100G

可支持虛擬環境

Centos7-03

1

192.168.31.26

作爲cloudera  agent

內存:8G

CPU:4核

硬盤:100G

可支持虛擬環境

cmserver

1

192.168.31.28

作爲cloudera  Server

內存:16G

CPU:4核

硬盤:100G

可支持虛擬環境

Centos7-06

1

192.168.31.29

作爲cloudera  agent,和mysql數據庫

內存:8G

CPU:4核

硬盤:100G

可支持虛擬環境

2.2  軟件下載與安裝

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

CDH下載地址:http://archive.cloudera.com/cdh5/parcels/5.11/

將以上安裝包上傳至服務器/tooles/目錄下。

3 服務器集羣準備

3.1 JDK安裝

略,

注:每臺都需要安裝,並配置環境變量。

3.2 Mysql安裝

注:主服務器上安裝,也可以安裝在其他主機上。

3.3 關閉防火牆

每臺主機執行以下命令:

1. 修改vi /etc/selinux/config文件,將SELINUX=enforcing改爲SELINUX=disabled。

2. systemctl stop firewalld  #停止firewall

3. systemctl disable firewalld  #禁止firewall開機啓動

4. systemctl status firewalld  #查看默認防火牆狀態(關閉後顯示notrunning,開啓後顯示running)。

3.4 配置hosts

每臺主機執行以下命令修改配置文件,如圖2所示。

vi /etc/hosts

圖2

3.5 配置ntp時間同步

在每一臺服務器執行以下命令:

1. 下載ntp服務:yum -y installntp

2. Server端修改配置文件:vi /etc/ntp.conf

restrictdefault kod nomodify notrap nopeer noquery    

restrict-6 default kod nomodify notrap nopeer noquery 

restrict220.130.158.71  

restrict59.124.196.83   

restrict59.124.196.84   

restrict127.0.0.1      

restrict-6 ::1

restrict192.168.100.0 mask 255.255.255.0 nomodify

 

servertime1.aliyun.com prefer

server220.130.158.71

server59.124.196.83

server59.124.196.84

 

driftfile/var/lib/ntp/drift

keys  /etc/ntp/keys

3. 在Agent端修改配置文件:vi/etc/ntp.conf

ftfile/var/lib/ntp/drift

restrict127.0.0.1

restrict-6 ::1

 

#配置時間服務器爲本地的時間服務器

server192.168.31.28 #ip爲服務器端的ip

restrict192.168.31.28 nomodify notrap noquery #ip同上

 

server  127.127.1.0     # local clock

fudge   127.127.1.0 stratum 10

includefile/etc/ntp/crypto/pw

keys/etc/ntp/keys

輸入地址進行測試:ntpdate -u 192.168.31.28,如圖3所示。

圖3

4. 重啓服務:service ntpd start 

5. 查看同步狀態:ntpstat

3.6 ssh免密碼登錄配置(每一臺)

1. 每臺主機配置免密,分別執行以下命令:

ssh-keygen -t rsa

2. 主服務器與其它服務器免密碼,在主節點上編輯以下命令發送到其他對應服務器:

ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.31.28(每臺服務器對應ip)

4  Cloudrea Manager安裝

4.1  Server端安裝

1.  創建目錄:mkdir /opt/cloudera-manager

2.  解壓CM到/opt/cloudera-manager目錄下:

tar -zxvf /tooles/cloudera-manager-centos7-cm5.11.1_x86_64.tar.gz-C   /opt/cloudera-manager

3.  創建cloudera-scm用戶

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

4.  創建本地元數據存放的目錄

mkdir /var/cloudera-scm-server

5.  改變 cloudera-scm-server和cloudera-manager文件夾的屬主

chown cloudera-scm:cloudera-scm/var/cloudera-scm-server

chown cloudera-scm:cloudera-scm/opt/cloudera-manager

6.  修改配置文件,將本機做爲一個服務端(注:只能寫主機名,不能寫ip)

vi/opt/cloudera-manager/cm-5.11.1/etc/cloudera-scm-agent/config.ini

圖4

7.  創建parcel-repo倉庫目錄:

mkdir -p /opt/cloudera/parcel-repo

chown cloudera-scm:cloudera-scm/opt/cloudera/parcel-repo

8.  需要將CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha1改成CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha,否則安裝時會重新下載,很重要!!

mv / tooles /CDH-5.11.1-1.cdh5.11.1.p0.4-el7.parcel.sha1 / tooles/CDH-5.11.1-1.cdh5.11.1.p0.4-el7.parcel.sha

9.  將tooles下的其餘三個文件都複製到parcel-repo目錄下:

cp / tooles /CDH-5.11.1-1.cdh5.11.1.p0.4-el7.parcel/opt/cloudera/parcel-repo

cp / tooles /CDH-5.11.1-1.cdh5.11.1.p0.4-el7.parcel.sha/opt/cloudera/parcel-repo

cp / tooles /manifest.json/opt/cloudera/parcel-repo

10.創建parcels存放目錄並改變屬主權限

mkdir -p /opt/cloudera/parcels

chown cloudera-scm:cloudera-scm/opt/cloudera/parcels

11.加入mysql的包

mkdir -p /usr/share/java

修改mysql的文件名:mv mysql-connector-java-5.1.25-bin.jar mysql-connector-java.jar

將包拷貝到:cp/keduox/5.11/mysql-connector-java.jar /usr/share/java/

12.初始化mysql

/opt/cloudera-manager/cm-5.11.1/share/cmf/schema/scm_prepare_database.shmysql –hcentos7-06 -uroot -p1234 --scm-host cmserver scmdbn root 1234

說明:這個腳本就是用來創建和配置CMS需要的數據庫的腳本。

各參數是指:

mysql:數據庫用的是mysql,如果安裝過程中用的oracle,那麼該參數就應該改爲oracle。

–hcentos7-06:數據庫建立在centos7-06主機上面。

-uroot:root身份運行mysql。

-p1234:mysql的root密碼是1234。

--scm-host cmserver:CMS的主機,一般是和mysql安裝的主機是在同一個主機上,也可指定其他主機。

最後三個參數是:數據庫名,數據庫用戶名,數據庫密碼。

10、啓動

cd/opt/cloudera-manager/cm-5.11.1/etc/init.d

./cloudera-scm-server start

./cloudera-scm-agent start

11、訪問  http://ip:7180

4.2  Agent端安裝

1.  創建目錄:mkdir /opt/cloudera-manager

2.  解壓CM到/opt/cloudera-manager目錄下:

tar -zxvf /tooles/cloudera-manager-centos7-cm5.11.1_x86_64.tar.gz-C   /opt/cloudera-manager

3.  創建cloudera-scm用戶

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

4.  修改配置文件,指向服務端主機名(注:只能寫主機名,不能寫ip)

vi/opt/cloudera-manager/cm-5.11.1/etc/cloudera-scm-agent/config.ini

圖5

5.  創建parcels存放目錄並改變屬主權限

mkdir -p /opt/cloudera/parcels

chown cloudera-scm:cloudera-scm/opt/cloudera/parcels

6.  進入到init.d文件夾啓動

cd/opt/cloudera-manager/cm-5.11.1/etc/init.d

./cloudera-scm-agent start

 

5  CDH集羣安裝

5.1  配置集羣主機

ClouderaManager瀏覽器默認管理賬號:

http://192.168.31.28:7180

User:admin

Password:admin

首次登陸進入集羣安裝嚮導:



出現以上警告在所有主機上執行以下命令:

echo 10 > /proc/sys/vm/swappiness

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

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

5.2  安裝服務,包括hadoop,yarn,hbase等

檢查主機正確性後,點擊完成,進入集羣配置。

選擇要安裝的服務,可以選擇組合或自定義。


配置各節點間如何分配(注意: HDFS的Data Node 最少3個)



出現此頁面,表示安裝完成。

6  安裝時遇到的問題

6.1  節點啓動時找不到pstree命令


解決方法:安裝pstree

yum install -y psmisc

6.2  數據庫初始化時失敗

解決方法:在mysql數據庫下執行以下命令,給操作的用戶向下授權的權限。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY'1234' WITH GRANT OPTION; 

重啓mysql服務:service mysqld restart


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