Centos 7+CDH5.7.2全部署流程

Centos 7+CDH5.7.2全部署流程

這裡我的配置文件名稱叫做ifcfg-ens33。而CentOS 7系統竟然連vim也沒有了,只有vi,所以就是如下:

Centos 7+CDH5.7.2全部署流程

如上圖:BOOTPROTO、ONBOOT是需要修改的,剩下四項是需要手動添加的。因為後面要使用yum安裝,所以這裡必須配置DNS,測試環境可以將DNS配置成網關的地址。

Centos 7+CDH5.7.2全部署流程

如上圖,重啟網絡服務,這個命令沒有更改,然後查看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 [email protected]

ssh-copy-id [email protected]

ssh-copy-id [email protected]

分別對每臺節點進行以上操作,操作完了可以通過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 [email protected]:/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 所有節點。

2、第三方依賴包

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包的這個固定的名字,所以這裡要修改一下名字。

3、安裝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。

4、安裝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

5、安裝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;

三、安裝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

上傳到所有的服務器上,在所有的服務器上執行以下操作。

1、安裝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

2、配置

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安裝的主機是在同一個主機上。

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

執行完成命令正常如下:

Centos 7+CDH5.7.2全部署流程

在這個地方就可以解釋上面為什麼要改jar名了。

3、

啟動服務

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

啟動如下圖所示:

Centos 7+CDH5.7.2全部署流程

這裡要說明一下,基本上上述兩項啟動都會配置隨機啟動,但是我實驗了很多個隨機啟動的方式,都不管用,這裡暫時不做,後期我找到可以隨機啟動的方式再補充。

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

四、服務安裝

1、web登錄

在瀏覽器中輸入192.168.75.41:7180。

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

Centos 7+CDH5.7.2全部署流程

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

2、web引導安裝

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

1.先擇express版本

當登錄之後,會進入選擇express版本的界面,在此界面選擇免費即可,然後繼續。

Centos 7+CDH5.7.2全部署流程

2.配置主機

在服務器的各個從節點已經安裝並啟動了agent,還在各個節點都配置了server指向,所以各個節點的agent就會給server發消息報告,這裡可以在“當前管理的主機”中看到三個主機,全部勾選並繼續。

注意如果cloudera-scm-agent沒有設為開機啟動,如果以上有重啟這裡可能會檢測不到其他服務器。之前配置的時候,我就沒有配置隨機啟動。

Centos 7+CDH5.7.2全部署流程

3.選擇CDH版本

這裡選擇自己需要的版本即可。這裡我選擇了兩項,其一選擇方式使用Parcel;其二CDH版本選擇的是CDH-5.7.2-1 cdh5.7.2p0 18;其他均選擇無。

Centos 7+CDH5.7.2全部署流程

4.安裝Parcel

此步是分發parcels到各個節點,上一步繼續,這一步是自動進行的不需要什麼操作,唯一需要的就是等待。當全部完成點擊繼續。

Centos 7+CDH5.7.2全部署流程

5.配置校驗

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

Centos 7+CDH5.7.2全部署流程

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

可以在集群中使用以下命令

echo 0 > /proc/sys/vm/swappiness

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

然後再點擊上面的重新運行會發現這次全部檢查通過了。

Centos 7+CDH5.7.2全部署流程

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

6.選擇服務

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

Centos 7+CDH5.7.2全部署流程

7.角色分配

這裡就是進行各個服務角色分配給那個節點的,可以默認,也可以自己做選擇。

Centos 7+CDH5.7.2全部署流程

8.數據庫設置選擇

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

Centos 7+CDH5.7.2全部署流程

9.集群審核

這裡就都是默認的就好,除非你有規劃,可以在這裡進行更改。

Centos 7+CDH5.7.2全部署流程

10.開始安裝

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

Centos 7+CDH5.7.2全部署流程

11.安裝完成

Centos 7+CDH5.7.2全部署流程

Centos 7+CDH5.7.2全部署流程

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

查看集群情況,我這裡有挺多報警,大概查看下基本都是內存或者存儲空間使用閾值的報警,由於我是本地虛擬機的,所以這些條件都有限,這裡暫時不處理這些報警。

Centos 7+CDH5.7.2全部署流程

以上就是安裝的全部過程。

需要大數據視頻學習資料的 可以私信回覆“大數據”


分享到:


相關文章: