天天看點

Cloudera——Cloudera CDH叢集安裝部署1. 配置主機名2. 時間同步3. ssh免密登入4. 關閉防火牆5. 禁用SELinux6. 安裝Java環境7. 中繼資料庫安裝8. 安裝 Cloudera Manager9. 啟動CM相關服務10. Web端操作

文章目錄

  • 1. 配置主機名
  • 2. 時間同步
  • 3. ssh免密登入
  • 4. 關閉防火牆
  • 5. 禁用SELinux
  • 6. 安裝Java環境
  • 7. 中繼資料庫安裝
    • 解除安裝mariadb
    • 安裝MySQL
  • 8. 安裝 Cloudera Manager
  • 9. 啟動CM相關服務
  • 10. Web端操作

在雲計算時代,可能很多公司為了成本的考慮,會采用第三方廠商提供的大資料叢集,比如阿裡的Maxcompute、華為的FusionInsight等。但選擇安裝開源的軟體,能讓你更加清楚其内部的原理,也能更好的針對自己公司的業務需求來定制軟體進行二次開發。

下面針對自己在公司安裝CDH叢集的經曆,整理了以下安裝步驟,希望能對有需要的同學有所幫助!

注:以下步驟中,從第1步到第8步,除了中繼資料庫的安裝之外,其他步驟都是要在叢集所有節點上執行的!

1. 配置主機名

在檔案/etc/hosts的最後加入以下配置(叢集所有節點都需要配置)

10.1.12.61    bigdatadev01

10.1.12.62    bigdatadev02

10.1.12.63    bigdatadev03

10.1.12.64    bigdatadev04

10.1.12.65    bigdatadev05

依次修改每個節點檔案/etc/hostname中的主機名為bigdata01,bigdata02…修改完之後需要重新開機主機reboot,才能生效。

2. 時間同步

使用chrony與外網進行時間同步,不需要配置從節點向主節點同步。

  1. 安裝chrony服務:yum -y install chrony
  2. 啟動服務:systemctl start chronyd
  3. 檢視狀态:systemctl status chronyd
  4. 設定開機啟動:systemctl enable chronyd

3. ssh免密登入

  1. 在叢集各節點上産生公鑰和私鑰

    ssh-keygen -t rsa

    注:ssh-keygen為ssh生成、管理和轉換認證密鑰, 它支援RSA和DSA兩種認證密鑰。-t選項: 指定要建立的密鑰類型。

  2. 拷貝被通路節點的公鑰到通路節點

    拷貝主節點的公鑰到所有節點,需要主節點能通路所有節點包括主節點本身。

    ssh-copy-id master

    指令格式:ssh-copy-id [ -i [identity_file] ] [user@]machine

    ssh-copy-id是把本地主機的公鑰複制到遠端主機的authorized_keys檔案上, 也會給遠端主機的使用者主目錄(home)和~/.ssh和~/.ssh/authorized_keys設定合适的權限。-i選項用來把本地的ssh公鑰檔案安裝到遠端主機對應賬戶下。

    例如:ssh-copy-id [email protected] 或 ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

4. 關閉防火牆

  1. 檢視防火牆服務狀态: systemctl status firewalld
  2. 關閉防火牆: systemctl stop firewalld
  3. 禁止開機啟動:systemctl disable firewalld

5. 禁用SELinux

  1. 檢視SElLinux狀态: sestatus -v 或 getenforce
  2. 永久關閉SELinux:
    1. 編輯vi /etc/selinux/config
    2. 修改SELINUX=disabled
    3. 重新開機主機

6. 安裝Java環境

檢視是否安裝了jdk:rpm -qa | grep jdk

如果沒安裝,則通過rpm安裝JDK:rpm -ivh jdk-8u172-linux-x64.rpm

7. 中繼資料庫安裝

解除安裝mariadb

centos預設安裝mariadb,需要先解除安裝以避免沖突。

  1. 檢視已安裝MariaDB相關包

    rpm -qa | grep -i mariadb

  2. 檢視已安裝的MariaDB相關yum包,包需要根據rpm指令的結果判斷

    yum list mariadb-libs

  3. 移除已安裝的MariaDB相關的yum包,包名需根據yum list指令結果判斷

    yum remove mariadb-libs

安裝MySQL

  1. 下載下傳MySQL rpm包

    官網下載下傳位址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

  2. 依次執行以下指令(包之間有前後依賴關系,務必按以下順序安裝)

    rpm -ivh mysql-community-common-5.7.17-1.el7.x86_64.rpm

    rpm -ivh mysql-community-libs-5.7.17-1.el7.x86_64.rpm

    rpm -ivh mysql-community-client-5.7.17-1.el7.x86_64.rpm

    rpm -ivh mysql-community-server-5.7.17-1.el7.x86_64.rpm

    如果執行上面第四個指令報錯,執行如下指令:

    1. yum -y install perl
    2. 下載下傳libaio rpm包:http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm
    3. rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
    4. yum -y install net-tools
  3. 資料庫初始化
    1. 執行mysqld --initialize --user=mysql初始化,之後會在/var/log/mysqld.log中生成一個root賬号密碼
    2. 啟動資料庫 systemctl start mysqld,并設定mysql開機自啟動 systemctl enable mysqld
    3. 登入 mysql -uroot -p
    4. 設定密碼 alter user ‘root’@‘localhost’ identified by ‘yourpasswd’;
    5. 建立叢集元件所必須的中繼資料庫,并給每個資料庫設定使用者名和密碼

      create database hive default charset utf8 collate utf8_general_ci;

      create database oozie default charset utf8 collate utf8_general_ci;

      create database hue default charset utf8 collate utf8_general_ci;

      create database amon default charset utf8 collate utf8_general_ci;

      grant all on hive.* ‘hive’@’%’ identified by ‘123456’;

      grant all on oozie .* ‘oozie ‘@’%’ identified by ‘123456’;

      grant all on hue .* ‘hue ‘@’%’ identified by ‘123456’;

      grant all on amon .* ‘amon ‘@’%’ identified by ‘123456’;

    6. 修改 /etc/my.cnf

      my.cnf中配置參考https://www.cloudera.com/documentation/enterprise/5-15-x/topics/cm_ig_mysql.html#cmig_topic_5_5中步驟4。

8. 安裝 Cloudera Manager

  1. 下載下傳cloudera manger和CDH

    下載下傳https://archive.cloudera.com/cm5/cm/5/,版本選擇 cloudera-manager-centos7-cm5.15.0_x86_64.tar.gz。

    下載下傳https://archive.cloudera.com/cdh5/parcels/5.15.0/,版本選擇CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel 和 CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha1

  2. 解壓壓縮包,并進行必要的配置
    1. 将步驟1中下載下傳的CM壓縮包copy到/opt目錄下;
    2. 解壓 tar -zxvf cloudera-manager-centos7-cm5.15.0_x86_64.tar.gz;
    3. 配置CM server的主機名:vi cm-5.15.0/etc/cloudera-scm-agent/config.ini ;
    4. 在所有節點上建立使用者,執行 useradd --system --home-dir /opt/cm-5.15.0/run/cloudera-scm-server/

      –no-create-home --shell=/bin/false --comment “Cloudera SCM User” cloudera-scm;

    5. 将mysql資料庫驅動 mysql-connector-java-5.1.42-bin.jar 上傳到所有節點的/opt/cm-5.15.0/share/cmf/lib/ 目錄下;
    6. 為CM建立資料庫 /opt/cm-5.15.0/share/cmf/schema/scm_prepare_database.sh mysql -uroot

      -pyourpasswd scm yourscm(yourpasswd是新使用者yourscm的密碼)

9. 啟動CM相關服務

  1. 叢集主節點上啟動Cloudera server: /opt/cm-5.15.0/etc/init.d/cloudera-scm-server start;
  2. 所有節點啟動Cloudera agent:/opt/cm-5.15.0/etc/init.d/cloudera-scm-agent start;

10. Web端操作

  1. 如果之前操作沒出現異常,那麼在浏覽器中通路 hostname:7180(預設使用者名密碼都為admin)就會出現以下界面:
    Cloudera——Cloudera CDH叢集安裝部署1. 配置主機名2. 時間同步3. ssh免密登入4. 關閉防火牆5. 禁用SELinux6. 安裝Java環境7. 中繼資料庫安裝8. 安裝 Cloudera Manager9. 啟動CM相關服務10. Web端操作
  2. 使用預設賬戶密碼登入,之後出現如下界面:
    Cloudera——Cloudera CDH叢集安裝部署1. 配置主機名2. 時間同步3. ssh免密登入4. 關閉防火牆5. 禁用SELinux6. 安裝Java環境7. 中繼資料庫安裝8. 安裝 Cloudera Manager9. 啟動CM相關服務10. Web端操作
    選擇免費的那個版本即可,當然也可以購買使用Cloudera提供的進階功能。
  3. 選好版本之後,點繼續,出現以下界面:
    Cloudera——Cloudera CDH叢集安裝部署1. 配置主機名2. 時間同步3. ssh免密登入4. 關閉防火牆5. 禁用SELinux6. 安裝Java環境7. 中繼資料庫安裝8. 安裝 Cloudera Manager9. 啟動CM相關服務10. Web端操作
    将你配置的所有節點都勾選上,然後繼續。
  4. 選擇CDH版本
    Cloudera——Cloudera CDH叢集安裝部署1. 配置主機名2. 時間同步3. ssh免密登入4. 關閉防火牆5. 禁用SELinux6. 安裝Java環境7. 中繼資料庫安裝8. 安裝 Cloudera Manager9. 啟動CM相關服務10. Web端操作
  5. 叢集元件配置
    Cloudera——Cloudera CDH叢集安裝部署1. 配置主機名2. 時間同步3. ssh免密登入4. 關閉防火牆5. 禁用SELinux6. 安裝Java環境7. 中繼資料庫安裝8. 安裝 Cloudera Manager9. 啟動CM相關服務10. Web端操作
    Cloudera——Cloudera CDH叢集安裝部署1. 配置主機名2. 時間同步3. ssh免密登入4. 關閉防火牆5. 禁用SELinux6. 安裝Java環境7. 中繼資料庫安裝8. 安裝 Cloudera Manager9. 啟動CM相關服務10. Web端操作
    因為有些元件是沒必要在所有節點上都安裝的,建議将元件均衡的安裝到叢集節點上,而不是集中在某幾個節點上,否則可能會造成某些節點資源占用過多。
  6. 安裝元件

    選擇好要安裝的元件,點下一步,就會依次安裝這些元件。如果安裝過程中沒出什麼問題,那就大功告成了!

這裡貼出本人在安裝過程中遇到的問題:

1. 在測試Hive、Ooozie、Hue等的資料庫連接配接時,Hue報錯 Unexpected error. Unable to verify database connection

解決:選擇把Hue安裝在MySQL所安裝的主機上,并安裝以下包:

rpm -ivh mysql-community-libs-compat-5.7.20-1.el7.x86_64.rpm

yum install python-lxml

2. 安裝在過程中出現 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 
将mysql驅動包[mysql-connector-java-5.1.42.jar](https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.42/mysql-connector-java-5.1.42.jar)拷貝到以下目錄:
/opt/cloudera/parcels/CDH-5.15.0-1.cdh5.15.0.p0.21/lib/hive/lib
/opt/cloudera/parcels/CDH-5.15.0-1.cdh5.15.0.p0.21/lib/oozie/lib 
/opt/cloudera/parcels/CDH-5.15.0-1.cdh5.15.0.p0.21/lib/oozie/libext 

3. Cloudera Manager Web界面出現 Hue Load Balancer 運作狀況不良
yum -y install httpd
yum -y install mod_ssl
           

繼續閱讀