CDH5部署三部曲之二:部署和設定
阿新 • • 發佈:2020-10-14
### 歡迎訪問我的GitHub
[https://github.com/zq2599/blog_demos](https://github.com/zq2599/blog_demos)
內容:所有原創文章分類彙總及配套原始碼,涉及Java、Docker、Kubernetes、DevOPS等;
### 本篇概覽
本文是《CDH5部署三部曲》的第二篇,上一篇[《CDH5部署三部曲之一:準備工作》](https://blog.csdn.net/boling_cavalry/article/details/105340968)將叢集所有機器做了必要的設定,今天一起來完成CDH的部署、啟動、設定等操作;
### 系列文章連結
1. [《CDH5部署三部曲之一:準備工作》](https://blog.csdn.net/boling_cavalry/article/details/105340968)
2. [《CDH5部署三部曲之二:部署和設定》](https://blog.csdn.net/boling_cavalry/article/details/105341713)
3. [《CDH5部署三部曲之三:問題總結》](https://blog.csdn.net/boling_cavalry/article/details//105342156)
### master機器上的設定
SSH登入master機器,執行以下操作:
1. 安裝mariadb:
```shell
yum install mariadb-server
```
2. 啟動mariadb服務,並設定為開機啟動:
```shell
systemctl start mariadb && systemctl enable mariadb
```
3. 初始化資料庫配置:
```shell
mysql_secure_installation
```
4. 按照控制檯提示進行設定,主要是設定root賬號的密碼,以及允許root賬號遠端登入;
5. 登入mariadb:
```shell
mysql -u root -p123456
```
6. 給root的遠端操作開放所有許可權,並且重新整理:
```shell
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;
```
7. 建立parcel的本地倉庫的資料夾,並且設定所有者和群組:
```shell
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
```
8. 將前面下載好的三個檔案放入目錄/opt/cloudera/parcel-repo,這三個檔案是:CDH-5.7.6-1.cdh5.7.6.p0.6-el7.parcel、manifest.json、CDH-5.7.6-1.cdh5.7.6.p0.6-el7.parcel.sha1
9. 將/opt/cloudera/parcel-repo目錄下的CDH-5.7.6-1.cdh5.7.6.p0.6-el7.parcel.sha1檔案改名為CDH-5.7.6-1.cdh5.7.6.p0.6-el7.parcel.sha(即:把字尾從sha1改成sha)
10. 接下來初始化CM資料,登入mariadb:
```shell
mysql -u root -p123456
```
11. 給temp賬號賦予許可權,並且重新整理:
```shell
create user 'temp'@'%' identified by 'temp';
grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;
flush privileges;
```
12. 退出mariadb互動;
13. 進入目錄/opt/cloudera-manager/cm-5.7.2/share/cmf/schema/:
```shell
cd /opt/cloudera-manager/cm-5.7.2/share/cmf/schema/
```
14. 執行以下命令即可初始化CM的資料:
```shell
./scm_prepare_database.sh mysql temp -h master -utemp -ptemp --scm-host master scm scm scm
```
15. 提示操作成功:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202010/485422-20201014065140402-1206163380.png)
至此,master設定完畢,接下來設定worker1和worker2
### worker1機器上的設定(worker2也這樣設定)
1. 建立本地parcel快取資料夾:
```shell
mkdir -p /opt/cloudera/parcels
```
2. 給資料夾賦許可權:
```shell
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
```
worker1和worker2都做上述設定,接下來就可以啟動CDH了。
### 啟動server(master機器)
1. SSH登入master;
2. 進入啟動命令所在目錄:
```shell
cd /opt/cloudera-manager/cm-5.7.2/etc/init.d/
```
3. 啟動server:
```shell
./cloudera-scm-server start
```
4. 啟動成功的提示資訊如下:
![5.](https://img2020.cnblogs.com/other/485422/202010/485422-20201014065141163-1196452912.png)
### 啟動agent(worker1和worker2機器)
1. SSH登入worker1;
2. 進入啟動命令所在目錄:
```shell
cd /opt/cloudera-manager/cm-5.7.2/etc/init.d/
```
3. 啟動agent:
```shell
./cloudera-scm-agent start
```
4. 啟動成功的提示資訊如下:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202010/485422-20201014065141641-682983549.png)
5. 然後登入worker2,重複上述操作;
至此,CDH部署和啟動完成,可以開始設定了;
### 設定CDH
1. 瀏覽器訪問地址:http://192.168.133.154:7180 ,會提示登入,賬號和密碼都是admin:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202010/485422-20201014065142016-527503297.png)
2. 接下來的頁面是許可條款,選擇接受後進入選擇版本的頁面,我這裡選擇的是試用版,如下圖:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202010/485422-20201014065142449-892889244.png)
3. 即將部署多個服務:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202010/485422-20201014065142787-1739790755.png)
4. 進入選擇機器的頁面,如下圖紅框所示,將worker1和worker2都勾選上:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202010/485422-20201014065143206-235853129.png)
5. parcel設定,如下所示:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202010/485422-20201014065143658-746066129.png)
6. 由於之前已經將parcel檔案下載到master機器上,因此下載安裝包的進度一開始就是百分之百,耐心等待後面的分配、解壓、啟用等步驟自動完成:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202010/485422-20201014065143968-1769182015.png)
7. 叢集安裝完成,如下圖,可以按照提示進行優化:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202010/485422-20201014065144525-896403585.png)
8. 部署服務,這裡我選擇了所有服務:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202010/485422-20201014065145040-543673480.png)
9. 角色設定頁面,將沒有分配主機的服務分配到某一臺機器上,我這裡都選擇了worker1:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202010/485422-20201014065145602-1433381112.png)
10. 資料庫的設定頁面,由於只在master安裝了mysql,所有我這裡全部填寫的是master:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202010/485422-20201014065146024-1139112018.png)
11. 詳細的設定頁面,請按照實際情況設定:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202010/485422-20201014065146463-1558099786.png)
12. 開始啟動各個服務,等待完成:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202010/485422-20201014065146969-317776742.png)
13. 所有服務正常後,狀態頁面如下圖所示:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202010/485422-20201014065147595-210688323.png)
至此,CDH5部署和啟動都已完成,但實際的啟動過程並非一帆風順,HDFS、Hive等服務都可能啟動失敗,下一篇文章會將這些問題以及解決方法都列出來;
### 歡迎關注公眾號:程式設計師欣宸
> 微信搜尋「程式設計師欣宸」,我是欣宸,期待與您一同暢遊Java世界...
[https://github.com/zq2599/blog_demos](https://github.com/zq2599/blo