1. 程式人生 > >Ubuntu安裝Cloudera Manager以及CDH5.15.2

Ubuntu安裝Cloudera Manager以及CDH5.15.2

一、機子分配

注意,本安裝教程是在真機上進行,而非虛擬機器。另,此次搭建主要的目的是搭建測試環境,讓Hadoop各元件能夠運作起來即可,完成搭建後,將用小資料量進行相關資料的計算與測試。線上環境將會使用阿里雲主機。

以下是四臺真機配置:

機子內網IP地址

主機名

記憶體大小

磁碟大小

CPU

192.168.0.29

bigdata01(主)

8GB

2T

1個物理CPU,4核

192.168.0.133

bigdata02(從)

8GB

500GB

1個物理CPU,2核

192.168.0.135

bigdata03(從)

8GB

500GB

1個物理CPU,2核

192.168.0.115

bigdata04(從)

8GB

500GB

1個物理CPU,2核

根據機子的配置,建議Hadoop的NameNode放在29這臺機子上,配置高可用的話,NameNodeStandby放在除29以外任意一臺機子均可,DataNode四臺機子都要配。其它元件如何放置,後續會說到。

 

Tips:

在linux系統環境下,檢視機子的記憶體大小命令:cat /proc/meminfo |grep MemTotal

 

 

檢視機子的硬碟大小:fdisk -l | grep Disk

 

檢視機子的CPU情況:

有兩個公式可以記一下:總核數 = 物理CPU個數 * 每顆物理CPU的核數;

總邏輯CPU數 = 物理CPU個數 * 每顆物理CPU的核數 * 超執行緒數

檢視物理CPU個數:cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

檢視每個物理CPU的核數:cat /proc/cpuinfo| grep "cpu cores"| uniq

檢視邏輯CPU的個數:cat /proc/cpuinfo| grep "processor"| wc -l

 

二、下載相關檔案 1、ubuntu系統

http://old-releases.ubuntu.com/releases/16.04.3/ubuntu-16.04.4-server-amd64.iso

關於作業系統的選擇,其實區別不大,這種級別的問題,對我這種水平的人,不太能夠感知得到,當然會繼續努力,去感知作業系統級別的問題。

2、cloudera manager相關下載

先下載好來,然後傳到各個節點上去,不然安裝過程中下載,速度慢得讓你分分鐘想砸鍵盤。

tar包下載:

https://archive.cloudera.com/cm5/cm/5/cloudera-manager-xenial-cm5.15.2_amd64.tar.gz

 

parcles下載:

http://archive.cloudera.com/cdh5/parcels/5.15.2/CDH-5.15.2-1.cdh5.15.2.p0.3-xenial.parcel

http://archive.cloudera.com/cdh5/parcels/5.15.2/CDH-5.15.2-1.cdh5.15.2.p0.3-xenial.parcel.sha1

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

 

下載的tar包,包含了cloudera manager server,cloudera manager daemons,cloudera manager agents。

parcles包則是CM特有的包格式,安裝的各個元件就是從parcles裡面取出來的。

 

三、系統環境的設定 1、root使用者的設定(四個節點都要)

ubuntu系統在剛安裝完成後,root使用者預設不被啟用,也沒有密碼,因此需要給root使用者設定一個登陸密碼,還要設定root使用者允許ssh登陸,這樣會方便我們進行軟體的安裝。

給root使用者設定密碼:sudo passwd root

開啟root使用者ssh遠端登陸許可權:sudo vi /etc/ssh/sshd_config,將檔案中的PermitRootLogin prohibit-password 改為 PermitRootLogin yes

要使修改的配置生效,需要重啟ssh服務:service ssh restart

設定好了之後,登入root使用者,後面都是用root使用者操作了:su root

2、修改hosts檔案(四個節點都要)

命令:vim /etc/hosts

將ip和主機名新增到檔案末尾:

注意ip和主機名修改為你自己的。

3、免密登入ssh設定(四個節點都要)

這一步很重要,不然在安裝CM的過程中會出錯,一定要完成這一步。

首先,在每個節點上分別生成金鑰

命令:ssh-keygen -t rsa

一路回車,結束後,在/root/.ssh資料夾中,會有id_rsa,id_rsa.pub兩個檔案。

 

每個節點都生成金鑰成功後,然後我們把每個節點的id_rsa.pub檔案中的內容,集中到一個名為authorized_keys檔案中,然後把這個檔案分別傳送到各節點的.ssh資料夾中,這樣我們就可以在任意節點使用ssh命令免密登入到別的節點上去。

最終,.ssh資料夾中,我們可以看到以下幾個檔案:

試試效果:

可以看到,這裡並沒有提示要求我們輸入密碼登入到bigdata02機子上。

4、安裝jdk1.8(四個節點都要)

安裝包已經下載好了,就在之前已經下載好的cm6.3.0-ubuntu1604.tar.gz這個包裡。

將包上傳到機子上,之後使用命令:tar -zxvf cm6.3.0-ubuntu1604.tar.gz,解壓。

java安裝包在路徑:/cm6.3.0/pool/contrib/o/oracle-j2sdk1.8

注意這裡是一個deb包,我們需要使用dpkg命令進行包的安裝。

命令:dpkg -i oracle-j2sdk1.8_1.8.0+update181-1_amd64.deb

預設的安裝路徑為:/usr/lib/jvm/java-8-oracle-cloudera。

 

接下來配置jdk的全域性環境變數

編輯 /etc/profile檔案:vim /etc/profile

在檔案末尾加上下面的程式碼:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle-cloudera

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

加入完成後,要使全域性變數生效,使用命令:source /etc/profile

之後,輸入:java -version,出現下面的提示,則說明安裝成功了:

5、安裝ntp(四個節點都要)

安裝ntp包的目的是,為了保障各節點的時間能夠同步,否則安裝CDH過程中,會出現時間不同步的錯誤。

使用命令:apt-get install ntp 進行安裝

使用命令:service ntp start 啟動服務

6、安裝mysql資料庫(主節點需要,其它節點不需要安裝)

使用命令安裝:apt-get install mysql-server

安裝完成後,修改一下配置檔案:vim /etc/mysql/mysql.conf/mysqld.cnf

在【mysqld】下,新增:

lower_case_table_names=1

default-time_zone = '+8:00'

skip_ssl

重啟mysql:service mysql restart

7、將下載的parcle檔案放到主節點的目錄下

將parcle檔案上傳到主節點目錄,可以方便後續CM安裝parcle,提高安裝速度。

8、修改swappniness的值(四個節點都要)

根據cloudera manager的建議,將值設定為10

命令:echo 10 > /proc/sys/vm/swappiness

四、測試配置好的環境 1、測試各節點是否網路通暢

ping bigdata01

ping bigdata02

ping bigdata03

ping bigdata04

2、測試各節點免密登入

ssh bigdata01

ssh bigdata02

ssh bigdata03

ssh bigdata04

都不需要輸入密碼,直接能夠登入上,說明此項配置成功

 

五、安裝Cloudera Manager並啟動Server以及Agent 1、檔案操作(主節點上操作)

首先解壓到/opt/資料夾下:

tar zxvf ~/cloudera-manager-xenial-cm5.15.2_amd64.tar.gz -C /opt/

然後在opt資料夾下,再建立以下幾個資料夾:

mkdir /opt/cloudera /opt/cloudera/parcels /opt/cloudera/parcel-repo

剪下過去:

mv ~/CDH-5.15.2-2.cdh5.15.2.p0.3-xenial.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.15.2-1.cdh5.15.2.p0.3-xenial.parcel.sha

剪下過去:

mv ~/CDH-5.15.2-2.cdh5.15.2.p0.3-xenial.parcel /opt/cloudera/parcel-repo/CDH-5.15.2-1.cdh5.15.2.p0.3-xenial.parcel

剪下過去:

mv ~/manifest.json /opt/cloudera/parcel-repo/manifest.json

刪除壓縮包:

rm -rf ~/cloudera-manager-xenial-cm5.15.2_amd64.tar.gz

2、新增Mysql驅動(主節點上操作)

cp /usr/share/java/mysql-connector-java.jar /opt/cm-5.15.2/share/cmf/lib/mysql-connector-java.jar

3、建立資料庫(主節點上操作)

這裡建立的資料庫,是用來存放各個大資料元件的元資料的。

這裡資料庫已經配置好了遠端root可以登入,因此在windows電腦上,使用Navicate連線資料庫。在Navicate裡之行下面的資料庫建立語句:

CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '123456';

CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY '123456';

CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY '123456';

CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY '123456';

CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY '123456';

CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY '123456';

CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY '123456';

CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY '123456';

CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456';

 

4、建立SCM資料庫(主節點上操作)

命令:/opt/cm-5.15.2/share/cmf/schema/scm_prepare_database.sh mysql scm scm

5、修改Agent配置(主節點上操作)

命令:vim /opt/cm-5.15.2/etc/cloudera-scm-agent/config.ini

修改server_host=localhost,改為server_host=192.168.0.29

6、複製到從節點(主節點上操作)

將整個Cloudera Manager的檔案從主節點複製到其他三個從節點上:

scp -r /opt/cm-5.15.2 bigdata02:/opt/

scp -r /opt/cm-5.15.2 bigdata03:/opt/

scp -r /opt/cm-5.15.2 bigdata04:/opt/

7、建立cloudera-scm使用者(四個節點都要)

命令:

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

bigdata01:

bigdata02:

bigdata03:

bigdata04:

 

我這裡之前已經建立過了,所有會提示使用者已經存在。

8、更改資料夾所屬使用者和使用者組(四個節點都要)

命令:

mkdir /opt/cloudera /opt/cloudera/parcels /opt/cloudera/parcel-repo

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

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

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

更改前:

更改後:

 

9、啟動Cloudera Manager Server(主節點)和Agent(四個節點都要)

在bigdata01節點上輸入命令:

/opt/cm-5.15.2/etc/init.d/cloudera-scm-server start

在bigdata02、bigdata03、bigdata04上輸入命令:

/opt/cm-5.15.2/etc/init.d/cloudera-scm-agent start

 

六、進入圖形化介面安裝CM和CDH 1、訪問CM的圖形化介面管理頁面

當啟動cloudera-scm-server成功後,等待幾分鐘之後,訪問主節點的7180埠,就可以進入到圖形化安裝介面。剛開始啟動完成之後,不能立馬訪問,因為程式還在資料庫建立響應的表:

建立完成後,scm資料庫中會有47張表格,之後再訪問7180埠,就能看到登入頁面了。

初始登入的賬號密碼為:admin admin

2、安裝過程可能會出現的問題

 

&n