Centos 7+CDH5.7.2所有署流程

Centos 7+CDH5.7.2所有署流程

1、前期準備

一、虛擬機配置

    這個配置是我在網上看到的,我就借用了這個配置:java

    主節點:8g內存、硬盤80gnode

    從節點:2g內存、硬盤80gpython

    安裝系統的時候,我建議將IP和主機名都給配置好,這樣就省的在系統中進行配置了,固然下面也有在系統中配置的方法。虛擬機系統安裝能夠參見:虛擬機:CentOS 7系統安裝mysql

    因此若是你要使用虛擬機來完成這個配置的話,那麼,你的主機的配置內存就不能低於16G了。並且還要找一個盤符較大的磁盤空間,否則到後面操做CDH的時候會很尷尬,我第一次就被卡在了硬盤空間不足上,而後又從新找了一個較大的盤符進行了從新安裝,包括虛擬機系統。linux

二、軟件版本

    1.JDK版本:jdk-8u131-linux-x64.tar.gzweb

    2.Scala版本:scala-2.11.0.tgzsql

    以上兩個包建議使用rpm或者yum安裝,這樣能夠省點事,不過我是使用的這兩個包。數據庫

    3.jdbc鏈接包:mysql-connector-java-5.1.38-bin.jarexpress

    4.MySQL相關包:json

    MySQL-client-5.6.29-1.linux_glibc2.5.x86_64.rpm

    MySQL-server-5.6.29-1.linux_glibc2.5.x86_64.rpm

    5.CDH安裝相關的包:

    cloudera manager包:cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz

    CDH包:

    CDH-5.7.2-1.cdh5.7.2.p0.11-el7.parcel

    CDH-5.7.2-1.cdh5.7.2.p0.11-el7.parcel.sha1

    manifest.json

    注意centos要下載el7的。

    6.系統使用Linux的CentOS 7版本,CentOS 7和CentOS 6.5在命令上有一些區別,這裏會進行說明。

三、集羣的規劃

IP地址

主機名

說明

192.168.75.41

cdh01

主節點、從節點

192.168.75.42

cdh02

從節點

192.168.75.43

cdh03

從節點

2、開始安裝前配置和預裝軟件

一、服務器配置

    修改每臺節點服務器的有關配置,包括IP、hostname、selinux,防火牆。

    若是你在安裝CentOS7系統的時候已經指定了主機名和IP地址,那麼IP修改和hostname修改就能夠省略。可是這裏面要強調一點的是,若是你想使用yum安裝,那麼DNS必定要配置。

1.IP修改

    這裏要使用固定IP,而centOS 7已經沒有setup命令,因此圖形界面的設置已經沒有了,這裏只能修改配置文件,並且配置文件的名稱還不固定,每一個人的均可能不同,這裏我說一下位置,IP配置文件的位置:/etc/sysconfig/network-scripts/,以下圖:

 

    這裏個人配置文件名稱叫作ifcfg-ens33。而CentOS 7系統居然連vim也沒有了,只有vi,因此就是以下:

    如上圖:BOOTPROTO、ONBOOT是須要修改的,剩下四項是須要手動添加的。由於後面要使用yum安裝,因此這裏必須配置DNS,測試環境能夠將DNS配置成網關的地址。

    如上圖,重啓網絡服務,這個命令沒有更改,而後查看ip。

    每臺都進行這樣的配置。

2.hostname修改

    分別對三臺都進行更改,而且注意每臺名稱和ip,每臺都要配上。

[root@hodoop1~] vi /etc/sysconfig/network
#配置內容
NETWORKING=yes
HOSTNAME=cdh01

    此處修改完成須要重啓才能生效,也可使用以下方法,當即生效:

[root@hodoop1~] hostname cdh01
[root@hodoop1~] hostname
cdh01

3.關閉防火牆

    CentOS 7.0默認使用的是firewall做爲防火牆,相關操做變更很大,和6.5版本的一點也不同,操做以下:

[root@hadoop1~]firewall-cmd --state #查看防火牆狀態
running
[root@hadoop1~]systemctl stop firewalld #中止防火牆的服務
[root@hadoop1~]systemctl disable firewalld #禁止開機啓動
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/basic.target.wants/firewalld.service'

4.selinux關閉

    全部節點都須要關閉,這是官方文檔要求的。

[root@hadoop1~]vi /etc/sysconfig/selinux
SELINUX=disabled

    重啓才能生效,重啓後檢查。

[root@cdh01~]sestatus -v
SELinux status: disabled #表示已經關閉了。

 

5.免密登陸配置

    安裝過程當中master須要各個節點的root免登陸密碼,先在master上生成公鑰:

ssh-keygen
ssh-copy-id root@192.168.75.41
ssh-copy-id root@192.168.75.42
ssh-copy-id root@192.168.75.43

    分別對每臺節點進行以上操做,操做完了能夠經過ssh ip進行驗證是否能夠無需輸入密碼就能直接登陸到節點服務器上去。

6.ip和主機名映射關係

    操做以下:

[root@hadoop1~]vi /etc/hosts
#內容以下
127.0.0.1   localhost
::1         localhost
192.168.75.41 cdh01
192.168.75.42 cdh02
192.168.75.43 cdh03

    內容如上,保存退出,而後可使用scp命令將這個配置拷貝給其餘主機。

scp /etc/hosts root@192.168.75.42:/etc/hosts

7.NTP服務器設置

    網上不少博客都提到這個配置,說是讓各個節點統一時間,可是我沒有配置,我也將這個配置放到這裏:

[root@cdh01~]yum -y install ntp #更改master的節點
[root@cdh01~]vi /etc/ntp.conf

    註釋掉全部server *.*.*的指向,新添加一條可鏈接的ntp服務器(百度一下ntp服務器)

    server ntp.sjtu.edu.cn iburst

    在其餘節點上把ntp指向master服務器地址便可(/etc/ntp.conf下)

    server 192.168.160.130 iburst 全部節點。

    也可參見:NTP服務搭建

二、第三方依賴包

1.其餘依賴

    針對這個步驟,你能夠看網上不少的博客都是將這個步驟放到了MySQL安裝的後面,可是通過本人的測試,這一步仍是放在前面比較好,由於後面安裝的軟件,但凡是有依賴的,你在這裏已經作好了,因此在這裏操做安裝依賴包,而且是全部節點都安裝。

yum install chkconfig python bind-utils psmisc libxslt zlib sqlite fuse fuse-libs redhat-lsb cyrus-sasl-plain cyrus-sasl-gssapi

    注意這個地方依賴包必定要安裝完整了,會通過三個y/N的過程,所有選擇Y,這個安裝的過程徹底看你的網速了,基本敲完這個命令你就能夠休息一會了。

2.MySQL jar包

    這個環節只須要在主節點上進行便可。

    在cdh01上準備mysql的jar包:

mkdir -p /usr/share/java

    修改jar包的名字,並拷貝到/usr/share/java/目錄:

cp mysql-connector-java-5.1.38-bin.jar /usr/share/java/mysql-connector-java.jar

    注意上述操做,是修改了jar包的名字,由於後面有操做會尋找這個jar包的這個固定的名字,因此這裏要修改一下名字。

三、安裝jdk

    這個是全部服務的基礎,每一個節點都須要安裝。

1.卸載jdk

    安裝以前首先檢查一下,你的服務器是否默認安裝了OpenJDK,若是系統自帶了,就須要卸載,步驟以下:

#檢查是否安裝
[root@cdh01~]java -version
java version "1.7.0_75"
OpenJDK Runtime Environment (rhel-2.5.4.2.el7_0-x86_64 u75-b13)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)
#查看須要卸載的包
[root@cdh01~]rpm -qa | grep jdk
java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
#卸載
[root@cdh01~]yum -y remove java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
[root@cdh01~]yum -y remove java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
#再次檢查
[root@cdh01~]java -version
bash: /usr/bin/java: No such file or directory

    若是沒有安裝,則能夠跳過此步驟,個人系統沒有自帶jdk。

2.安裝

    以下兩個方法,任選其一,不要都作。

1>rpm或yum安裝

    直接使用命令進行安裝便可,這裏不作過多解釋。

2>使用壓縮包安裝

    將準備的好的安裝包上傳,我習慣的目錄是:/home/software,上傳完成,進行解壓:

tar -zxvf jdk-8u131-linux-x64.tar.gz
mv jdk-1.8.0 jdk1.8

    若是你還要安裝spark,能夠將環境變量和Scala一塊兒配置。

    配置環境變量:

vi /etc/profile

    在文件中追加一下內容:

#java
export JAVA_HOME=/home/software/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin

    保存退出以後,這裏還須要設置一個軟鏈接:

mkdir /usr/java
ln -s /home/software/jdk1.8 /usr/java/default

    若是你使用的是yum或者rpm安裝的jdk那麼這些步驟就能夠省略。由於CDH平臺安裝的時候默認尋找的jdk路徑爲/usr/java。

四、安裝Scala

    若是你要安裝Spark必定不能省略Scala的安裝,不然,你在web端操做CDH的時候,會給你報錯,網上的解決方法,基本都是說的jdk沒人說到Scala。

    這個操做一樣也是在全部的節點上。

    目錄仍是在/home/software。操做以下:

tar -zxvf scala-2.11.0.tgz
mv scala-2.11.0 scala2.11

    而後配置環境變量:

vi /etc/profile

一樣在末尾追加如下內容:

export SCALA_HOME=/home/software/scala2.11
export PATH=$PATH:$SCALA_HOME/bin

五、安裝mysql

    MySQL的安裝只須要在主節點進行便可。

1.卸載

    安裝MySQL也一樣須要檢查,系統是否自帶了,centos7自帶的是mariadb,首先檢查,命令以下:

[root@cdh01]rpm -qa | grep mariadb
mariadb-libs-5.5.41-2.el7_0.x86_64

    如上的狀況是存在,若是存在就使用如下命令進行卸載:

[root@cdh01]rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64

2.安裝

    將下載好的MySQL rpm包拷貝到服務器上,而後解壓、安裝。

1>建立用戶及用戶組

#增長用戶組mysql:
groupadd mysql
#增長用戶mysql,加入mysql用戶組:
useradd -r -g mysql mysql

2>安裝MySQL

#安裝server:
rpm -ivh MySQL-server-5.6.29-1.linux_glibc2.5.x86_64.rpm
#安裝client:
rpm -ivh MySQL-client-5.6.29-1.linux_glibc2.5.x86_64.rpm

 

3>添加隨機啓動

    將mysqld加入系統服務,並隨機啓動,命令以下:

cp /usr/share/mysql/mysql.server /etc/init.d/mysqld

4>啓動MySQL

    啓動mysqld的命令以下:

service mysqld start

5>修改密碼

    首先獲取mysql安裝時root用戶的隨機密碼:

vim /root/.mysql_secret

    也可以使用cat命令查看:

cat /root/.mysql_secret

    此密碼只能用來修改密碼使用。

    必需要修改root用戶的密碼纔可使用mysql,不然只能鏈接不能操做

mysqladmin -u root -p  password root

6>測試

#鏈接進入mysql,命令以下:
mysql -u root -p
root
#查看mysql的安裝運行路徑,命令以下:
ps -ef|grep mysql

7>MySQL相關問題

    若是出現沒有權限的問題,在mysql受權(在安裝mysql的機器上執行),執行下面的語句,進行受權:

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

    *.*:全部庫下的全部表。

    %:任何IP地址或主機均可以鏈接。若是%配置不生效,就配置具體的主機名稱。

3.建立數據庫

    以下命令是建立部署各個服務所需的數據庫,我本人傾向用不用先建立好,用的時候就能夠直接部署服務了,沒必要再來數據庫進行建立。

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

3、安裝Cloudera-Manager

    將Cloudera相關的四個包,以下:

    cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz

    CDH-5.7.2-1.cdh5.7.2.p0.11-el7.parcel

    CDH-5.7.2-1.cdh5.7.2.p0.11-el7.parcel.sha1

    manifest.json

    上傳到全部的服務器上,在全部的服務器上執行如下操做。

一、安裝CM

    解壓cm tar包到指定目錄,先建立目錄,命令操做以下:

[root@cdh01 ~]mkdir /opt/cloudera-manager
[root@cdh01 ~]tar -zxvf cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz -C /opt/cloudera-manager

    建立cloudera-scm用戶

#建立
[root@cdh01 ~]useradd -r -d /opt/cloudera-manager/cm-5.7.2/run/cloudera-scm-server -M -c "Cloudera SCM User" cloudera-scm
#查看
[root@cdh01 ~]id cloudera-scm

二、配置

1.配置從節點的老大

    配置從節點cloudera-manger-agent指向主節點服務器,我如今的集羣規劃,是須要在每臺服務器上都進行以下配置:

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

    將server_host改成CMS所在的主機名即cdh01

server_host=cdh01

2.配置倉庫目錄

    此操做只需在主節點進行便可,在主節點中建立parcel-repo倉庫目錄,命令以下:

[root@cdh01 ~]mkdir -p /opt/cloudera/parcel-repo
[root@cdh01 ~]chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
[root@cdh01 ~]cp CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel.sha1 manifest.json /opt/cloudera/parcel-repo

    注意:其中CDH-5.7.2-1.cdh5.7.2.p0.18-el5.parcel.sha1 後綴要把1去掉,操做以下:

mv CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel.sha1 CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel.sha

3.配置CDH從節點目錄

    在全部的節點上建立parcels目錄,操做以下:

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

    解釋:Clouder-Manager將CDH從主節點的/opt/cloudera/parcel-repo目錄中抽取出來,分發解壓激活到各個節點的/opt/cloudera/parcels目錄中。

4.初始化數據庫

    此操做在主節點上進行,初始腳本配置數據庫scm_prepare_database.sh,操做命令以下:

[root@cdh01 ~]/opt/cloudera-manager/cm-5.7.2/share/cmf/schema/scm_prepare_database.sh mysql -hcdh01 -uroot -proot --scm-host cdh01 scmdbn scmdbu scmdbp

    說明:這個腳本就是用來建立和配置CMS須要的數據庫的腳本。各參數是指:

    mysql:數據庫用的是mysql,若是安裝過程當中用的oracle,那麼該參數就應該改成oracle。

    -hcdh01:數據庫創建在cdh01主機上面。也就是主節點上面。

    -uroot:root身份運行mysql。-proot:mysql的root密碼是root。

    --scm-host cdh01:CMS的主機,通常是和mysql安裝的主機是在同一個主機上。

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

    執行完成命令正常以下:

 

    在這個地方就能夠解釋上面爲何要改jar名了。

三、啓動服務

1.啓動server

    此命令只需在主節點執行便可。

    進入/opt/cloudera-manager/cm-5.7.2/etc/init.d/目錄中,執行以下命令:

./cloudera-scm-server start
#或者直接執行如下命令:
/opt/cloudera-manager/cm-5.7.2/etc/init.d/cloudera-scm-server start

2.啓動agent

    啓動cloudera-scm-agent,須要在全部的從節點上啓動。

    進入/opt/cloudera-manager/cm-5.7.2/etc/init.d/目錄中,執行以下命令:

./cloudera-scm-agent start
#或者直接執行如下命令:
/opt/cloudera-manager/cm-5.7.2/etc/init.d/cloudera-scm-agent start

    啓動以下圖所示:

    這裏要說明一下,基本上上述兩項啓動都會配置隨機啓動,可是我實驗了不少個隨機啓動的方式,都無論用,這裏暫時不作,後期我找到能夠隨機啓動的方式再補充。

    注:以上環節只要操做的沒有問題,如下的步驟將不會出現任何問題。

4、服務安裝

一、web登陸

    在瀏覽器中輸入192.168.75.41:7180。

    出現下圖登陸界面,默認用戶名和密碼:admin

    出現這個界面說明CM已經安裝成功了,下面就在這個web界面中部署各類服務了。

二、web引導安裝

    此過程當中沒有提到的界面,默認選擇繼續。

1.先擇express版本

    當登陸以後,會進入選擇express版本的界面,在此界面選擇免費便可,而後繼續。

2.配置主機

    在服務器的各個從節點已經安裝並啓動了agent,還在各個節點都配置了server指向,因此各個節點的agent就會給server發消息報告,這裏能夠在「當前管理的主機」中看到三個主機,所有勾選並繼續。

    注意若是cloudera-scm-agent沒有設爲開機啓動,若是以上有重啓這裏可能會檢測不到其餘服務器。以前配置的時候,我就沒有配置隨機啓動。

 

3.選擇CDH版本

    這裏選擇本身須要的版本便可。這裏我選擇了兩項,其一選擇方式使用Parcel;其二CDH版本選擇的是CDH-5.7.2-1 cdh5.7.2p0 18;其餘均選擇無。

4.安裝Parcel

    此步是分發parcels到各個節點,上一步繼續,這一步是自動進行的不須要什麼操做,惟一須要的就是等待。當所有完成點擊繼續。

5.配置校驗

    此步是對主機配置的正確性進行檢測。

    這個地方要注意這個地方有兩項沒有檢查經過,可是我沒作處理,我在網上找到了一個方法,可是不知道具體是否管用,方式以下:

    能夠在集羣中使用如下命令

echo 0 > /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag

    而後再點擊上面的從新運行會發現此次所有檢查經過了。

    我沒有作上面的處理,可是後面的安裝也沒有影響。

6.選擇服務

    重頭戲來了,這裏要選擇要安裝使用的服務,CDH5默認提供瞭如圖的六種搭配,固然那也能夠選擇則自定義,這裏我選擇的就是自定義。

7.角色分配

    這裏就是進行各個服務角色分配給那個節點的,能夠默認,也能夠本身作選擇。

8.數據庫設置選擇

    這裏就用到了前面建立的各個數據庫,根據你選擇的服務,這裏會讓你填寫每一個服務用到的數據庫,以及用戶名和密碼。

9.集羣審覈

    這裏就都是默認的就好,除非你有規劃,能夠在這裏進行更改。

10.開始安裝

    若是web引導安裝會出問題,那麼問題都是出在這一步,這裏會出現的問題,我遇到的問題,基本都在前面作了介紹,就是安裝jdk和Scala的時候。基本上其餘的不會出什麼問題。

 

11.安裝完成

 

這個時候安裝完成了,點擊完成,就會進入以下界面。

查看集羣狀況,我這裏有挺多報警,大概查看下基本都是內存或者存儲空間使用閾值的報警,因爲我是本地虛擬機的,因此這些條件都有限,這裏暫時不處理這些報警。

以上就是安裝的所有過程。

下一篇:CDH的坑之Sqoop導出數據到MySQL

相關文章
相關標籤/搜索