1. 程式人生 > >CDH5部署三部曲之二:部署和設定

CDH5部署三部曲之二:部署和設定

### 歡迎訪問我的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