天天看點

cloudera大資料平台搭建流程基礎環境基礎環境配置安裝CM安裝CDH

基礎環境

  • 軟體環境
NO 軟體名稱 版本
1 作業系統 centos7 64位
2 jdk jdk-8u181-linux-x64.tar.gz
3 cloudera manager cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz
4 cdh CDH-5.15.1-1.cdh5.15.1.p0.4-el7
5 資料庫 mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
6 jdbc mysql-connector-java-5.1.43.jar
  • 配置規劃
NO 機器名稱 IP 配置 用途
1 master 10.2.47.1 16C/32G/500G master,cm,mysqldb
2 slave1 10.2.47.2 16C/32G/500G slave
3 slave2 10.2.47.3 16C/32G/500G slave
4 slave3 10.2.47.4 16C/32G/500G slave
5 slave4 10.2.47.5 16C/32G/500G slave
  • 軟體資源
    1. jdk
    下載下傳位址:jdk-8u181-linux-x64.tar.gz
    1. CM
    下載下傳位址:cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz
    1. cdh包

    下載下傳位址:manifest.json

    下載下傳位址:CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1

    下載下傳位址:CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel

    1. jdbc連接配接jar包
    下載下傳位址:mysql-connector-java-5.1.43.jar

基礎環境配置

  1. jdk安裝配置
    • 解除安裝系統自帶jdk
    rpm -qa | grep java
    [[email protected] ~]# rpm -qa | grep java
    python-javapackages-3.4.1-5.el7.noarch
    java-1.7.0-openjdk-headless-1.7.0.51-2.4.5.5.el7.x86_64
    tzdata-java-2014b-1.el7.noarch
    javapackages-tools-3.4.1-5.el7.noarch
    java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64
    删除全部,noarch可不删除
    [[email protected] ~]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.51-2.4.5.5.el7.x86_64
    [[email protected] ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64      
    • 安裝jdk
    [[email protected] soft]# tar -zxvf jdk-8u181-linux-x64.tar.gz 
    [[email protected] soft]# mv jdk1.8.0_181 jdk
    配置環境變量
    [[email protected] soft]# vim /etc/profile
    export JAVA_HOME=/soft/jdk
    export PATH=.:$JAVA_HOME/bin:$PATH      
    1. 安裝mysql
    安裝前先解除安裝mariadb 
    # rpm -qa | grep mariadb
    # rpm -e -nodeps mariadb-libs-5.5.35-3.el7.x86_64
    [[email protected] soft]#tar -xvf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
    按common–>libs–>client–>server->devel的順序安裝:
    # rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
    # rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
    # rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
    # rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm
    # rpm -ivh mysql-community-devel-5.7.18-1.el7.x86_64.rpm 
    # rpm -ivh  mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm
    啟動資料庫
    # systemctl start mysqld 
    檢視狀态: 
    # systemctl status mysqld
    修改mysql初始密碼
    1、先修改配置檔案/etc/my.cnf令MySQL跳過登入時的權限檢驗,在[mysqld]下加入一行:
    skip-grant-tables
    2、重新開機MySQL
    #service mysqld restart
    3、免密碼登入MySQL。
    #mysql
    4、mysql用戶端執行如下指令,修改root密碼
    mysql>  use mysql;
    mysql> UPDATE user SET authentication_string = password('your-password') WHERE host = 'localhost' AND user = 'root';
    mysql> select host,user, authentication_string, password_expired from user; 
    mysql> update user set password_expired='N' where password_expired='Y' //密碼不過期
    mysql> update user set host='%' where user='root' and host='localhost'; //遠端可通路
    mysql> flush privileges; //重新整理
    mysql> exit;//退出
    5、修改配置檔案/etc/my.cnf删除此前新增那一行skip-grant-tables,并重新開機MySQL(這一步非常重要,不執行可能導緻嚴重的安全問題)
    #service mysqld restart //重新開機 Mysql
    後期會出現 == 初始化資料庫錯誤 ==:
    在這個環節,出現的問題較多,但總的來說,是與資料庫參數配置,和帳号權限配置有關。
    如後面 在執行scm_prepare_database.sh腳本時,出現的錯誤:
    ​
    java.sql.SQLException: Your password does not satisfy the current policy requirements
    ​
    一般是由密碼政策級别問題引發:
    可以通過 my.cnf 配置檔案關閉 validate_password 插件。
    通過修改/etc/my.cnf 目錄下配置檔案,修改設定密碼政策的級别,隻需要在[mysqld]下添加一行 
    validate_password = off
    編輯完配置檔案後,重新開機mysqld服務即可生效。
    ​      
    1. mysql解除安裝
    rpm -qa | grep -i mysql
     [[email protected] local]# rpm -e MySQL-server-5.6.17-1.el6.i686
    [[email protected] local]# rpm -e MySQL-client-5.6.17-1.el6.i686
    c)删除mysql服務
    [[email protected] local]# chkconfig --list | grep -i mysql
    [[email protected] local]# chkconfig --del mysql
    d)删除分散mysql檔案夾
    [[email protected] local]# whereis mysql 或者 find / -name mysql
    mysql: /usr/lib/mysql /usr/share/mysql
    清空相關mysql的所有目錄以及檔案
    rm -rf /usr/lib/mysql
    rm -rf /usr/share/mysql
    rm -rf /usr/my.cnf      
  1. 源碼安裝mysql
  下載下傳mysql源碼mysql-5.5.17.tar.gz  http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.22.tar.gz/from/http://cdn.mysql.com/
   yum方式安裝相關依賴包  yum -y install cmake bison git ncurses-devel gcc gcc-c++
   -建立一個使用者名為mysql的使用者并加入mysql使用者組 
   # groupadd mysql
   # useradd -g mysql mysql
   解壓mysql-5.6.38.tar.gz,并且建立mysql安裝目錄和資料庫檔案存放目錄
   # tar zxvf mysql-5.6.38.tar.gz 
   # mkdir /usr/local/mysql
   # mkdir /usr/local/mysql/data
   # cd mysql-5.6.38/
   # cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DENABLE_DOWNLOADS=1
   
    進入/mysql目錄執行
   make && make install
   修改目錄屬主權限
   # chown -R mysql:mysql /usr/local/mysql/data/
   # chown -R mysql:mysql /usr/local/mysql/
   建立MySQL Server系統表
   # cd /usr/local/mysql/
   # scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data
    配置啟動腳本
   cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
   添加配置檔案vim /etc/my.cnf
   [mysql]
   # 設定mysql用戶端預設字元集
   default-character-set=utf8 
   socket=/var/lib/mysql/mysql.sock
   [mysqld]
   skip-name-resolve
   #設定3306端口
   port = 3306 
   socket=/var/lib/mysql/mysql.sock
   # 設定mysql的安裝目錄
   basedir=/usr/local/mysql
   # 設定mysql資料庫的資料的存放目錄
   datadir=/usr/local/mysql/data
   # 允許最大連接配接數
   max_connections=200
   # 服務端使用的字元集預設為8比特編碼的latin1字元集
   character-set-server=utf8
   # 建立新表時将使用的預設存儲引擎
   default-storage-engine=INNODB 
   lower_case_table_names=1
   max_allowed_packet=16M
   
   #忘記密碼時可取消注釋,無密碼登陸
   #skip-grant-tables
   添加環境變量
   vim /etc/profile
   export MYSQL_HOME=/usr/local/mysql
   export PATH=.:$MYSQL_HOME/bin:$PATH
   source /etc/profile
   設定開機啟動:
   chkconfig mysqld on
   啟動服務:
   service mysqld start
   設定初始密碼
   1、使用空的初始密碼登入mysql賬号:
   mysql-uroot -p
    
   2、修改root密碼:
   mysql> update user set Password=password("123456") where User='root';
   Query OK, 4 rows affected (0.01 sec)
   Rows matched: 4  Changed: 4  Warnings: 0
    
   mysql> flush privileges;
   Query OK, 0 rows affected (0.04 sec)
    
   mysql> select Host,User,password from user where user='root';
   +-----------------------+------+-------------------------------------------+
   | Host                  | User | password                                  |
   +-----------------------+------+-------------------------------------------+
   | localhost             | root | *5626ED34B75C6C508BA2A3D0A4F6E4C58823138C |
   | localhost.localdomain | root | *5626ED34B75C6C508BA2A3D0A4F6E4C58823138C |
   | 127.0.0.1             | root | *5626ED34B75C6C508BA2A3D0A4F6E4C58823138C |
   | ::1                   | root | *5626ED34B75C6C508BA2A3D0A4F6E4C58823138C |
   +-----------------------+------+-------------------------------------------+
   4 rows in set (0.00 sec)      
  1. 修改機器名稱
  方法1:hostnamectl set-hostname master
   方法2:vi /etc/hostname 
   master                
   :wq
   [[email protected] ~]# reboot
         
  1. 配置hosts
  #vim /etc/hosts
   10.2.47.1 master
   10.2.47.2 slave1
   10.2.47.3 slave2
   10.2.47.4 slave3
   10.2.47.5 slave4      
  1. 設定防火牆(所有節點)
  # firewall-cmd  --state(查詢防火牆狀态) 
   #systemctl stop firewalld.service (關閉防火牆) 
   #systemctl start firewalld.service (開啟防火牆)
   #systemctl disable firewalld.service (禁止firewall開機啟動)
   //禁止開機啟動
   systemctl disable firewalld
   Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
   Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
   
   設定防火牆政策,在所有節點執行下面腳本(執行前要啟動防火牆)(可省略)
   //叢集機器間可以互相通路
   firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='10.2.47.1' port protocol='tcp' port='0-65535' accept"
   firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='10.2.47.2' port protocol='tcp' port='0-65535' accept"
   firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='10.2.47.3' port protocol='tcp' port='0-65535' accept"
   firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='10.2.47.4' port protocol='tcp' port='0-65535' accept"
   firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='10.2.47.5' port protocol='tcp' port='0-65535' accept" 
   //設定可以通路的端口
   firewall-cmd --permanent --add-port=0-65535/tcp
   firewall-cmd --reload
         
  1. 配置ssh免密登入
  #cd~ //進入到 根目錄
   # ssh-keygen -t rsa
    一路回車,生成無密碼的密鑰對。
   # cp id_rsa.pub authorized_key
   # ssh-copy-id -i slave1
   # ssh-copy-id -i slave2
   # ssh-copy-id -i slave3
   # ssh-copy-id -i slave4      
  1. 關閉selinux(所有節點)
  關閉linux SELINUX安全核心
   # setenforce 0 (臨時生效)
   修改 /etc/selinux/config 下的 SELINUX=disabled (重新開機後永久生效)
   # vi /etc/selinux/config
   内容增加:
   SELINUX=disabled
   # reboot
   檢視SELINUX 是否關閉:
   #sestatus      
  1. 修改核心參數(所有節點)
  1.設定swappiness,控制運作時記憶體的相對權重,Cloudera 建議将 swappiness 設定為 10:
   //檢視swappiness
   # cat /proc/sys/vm/swappiness
   //永久性修改,執行下面兩條指令
   # sysctl -w vm.swappiness=10
   # echo vm.swappiness = 10 >> /etc/sysctl.conf 
   
   2.關閉透明大頁面:
   自CentOS6版本開始引入了Transparent Huge Pages(THP),從CentOS7版本開始,該特性預設就會啟用。盡管THP的本意是為提升記憶體的性能,不過某些資料庫廠商還是建議直接關閉THP,否則可能會導緻性能出現下降。
   首先檢視透明大頁是否啟用,[always] never表示已啟用,always [never]表示已禁用:
   # cat /sys/kernel/mm/transparent_hugepage/defrag
   [always] madvise never
   # cat /sys/kernel/mm/transparent_hugepage/enabled
   [always] madvise never
   以上狀态就說明是啟用的。
   臨時關閉(重新開機機器會變回預設開啟狀态):
   # echo never > /sys/kernel/mm/transparent_hugepage/defrag
   #echo never > /sys/kernel/mm/transparent_hugepage/enabled
   永久關閉:
   //編輯/etc/rc.d/rc.local
   # vi /etc/rc.d/rc.local
   //在檔案後添加下面内容:
   if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
   echo never > /sys/kernel/mm/transparent_hugepage/enabled
   fi
   if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
   echo never > /sys/kernel/mm/transparent_hugepage/defrag
   fi
   儲存退出,然後賦予rc.local檔案執行權限:
   #chmod +x /etc/rc.d/rc.local
   
   3.修改檔案句柄數:
   修改系統檔案句柄數限制:
   //檢視檔案句柄數,顯示1024,顯然太小
   # ulimit -n 
   1024
   //修改限制
   #vi /etc/security/limits.conf 
   //在檔案後加入下面内容:
   
   * soft nofile 100000
   * hard nofile 100000
   修改後需要重新開機機器。
   
         
  1. 其他安裝與配置
  # yum  -y  install psmisc MySQL-python at bc bind-libs bind-utils cups-client cups-libs cyrus-sasl-gssapi cyrus-sasl-plain ed fuse fuse-libs httpd httpd-tools keyutils-libs-devel krb5-devel libcom_err-devel libselinux-devel libsepol-devel libverto-devel mailcap noarch mailx mod_ssl openssl-devel pcre-devel postgresql-libs python-psycopg2 redhat-lsb-core redhat-lsb-submod-security  x86_64 spax time zlib-devel
   #yum install -y python-lxml
   #yum install krb5-devel cyrus-sasl-gssapi cyrus-sasl-deve libxml2-devel libxslt-devel mysql mysql-devel openldap-devel python-devel python-simplejson sqlite-devel
   
   # chmod +x /etc/rc.d/rc.local
   # yum -y install rpcbind
   # systemctl start rpcbind
   # echo "systemctl start rpcbind" >> /etc/rc.d/rc.local
   
   可能出現問題如下:
   Loaded plugins: fastestmirror, langpacks
   Repository base is listed more than once in the configuration
   Repository updates is listed more than once in the configuration
   Repository extras is listed more than once in the configuration
   Repository centosplus is listed more than once in the configuration
   證明源有問題,隻需把源更新成mirror.gree.com即可      
  1. 配置NTF服務
  叢集中所有主機必須保持時間同步,如果時間相差較大會引起各種問題。 具體建設過程如下:所有節點安裝相關元件:
   # yum install  ntp  ntpdate  -y
   NTP服務端(主節點):
   1. 查找時間同步伺服器http://www.pool.ntp.org/zone/asia:
   打開網址,内容如下:
   2. 編輯 /etc/ntp.conf:
   # vi /etc/ntp.conf
   //在檔案中輸入上面網頁内容:
   server 10.2.8.44 
   server 10.2.47.1
   
   server 0.asia.pool.ntp.org
   server 1.asia.pool.ntp.org
   server 2.asia.pool.ntp.org
   server 3.asia.pool.ntp.org
   3.啟動ntp服務
   # systemctl start  ntpd
   4. 配置開機啟動:
   # systemctl enable  ntpd.service  
   
   注意:如果ntpd 開機啟動失效,有可能是因為安裝了chronyd 并且是開機自啟狀态,是以導緻ntpd開機自啟失敗。
   # 檢視  chronyd設定狀态
   # systemctl status chronyd
   表示沒問題
   ● chronyd.service - NTP client/server
      Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
      Active: failed (Result: signal) since Sat 2018-10-13 11:00:50 CST; 43s ago
    Main PID: 1163 (code=killed, signal=KILL)
   
   Oct 13 10:30:33 master chronyd[1163]: Linux kernel major=3 minor=10 patch=0
   Oct 13 10:30:33 master chronyd[1163]: hz=100 shift_hz=7 freq_scale=1.00000000 nomin...l=2
   Oct 13 10:31:33 master systemd[1]: Started NTP client/server.
   以面表明,chronyd顯示為開機關閉狀态。
   
   将chronyd設為禁用狀态:
   # systemctl disable chronyd.service
   此時,NTP的服務開機自啟動完成! 
   5. 檢查是否設定成功:
   # ntpq  -p
   //更新時間
   [[email protected] ~]# ntpq -p
        remote           refid      st t when poll reach   delay   offset  jitter
   ==============================================================================
   
   
   *10.2.8.44       10.4.20.100      4 u  113  256  377    1.136    3.295   1.089
    master          .INIT.          16 u    - 1024    0    0.000    0.000   0.000
   
   #timedatectl 
   
   [[email protected] ~]# timedatectl 
         Local time: Sat 2018-10-13 14:00:35 CST
     Universal time: Sat 2018-10-13 06:00:35 UTC
           RTC time: Sat 2018-10-13 06:00:35
          Time zone: Asia/Shanghai (CST, +0800)
        NTP enabled: no
   NTP synchronized: yes
    RTC in local TZ: no
         DST active: n/a
   
   
   NTP用戶端(所有從節點):
   6. 遠端用戶端時間同步測試
   # date
   # ntpdate 10.2.47.1
   10.2.47.1是NTP服務端IP,顯示如下資訊,測試成功:
   [[email protected] ~]# date
   Sat Oct 13 14:00:50 CST 2018
   [[email protected] ~]# ntpdate 10.2.47.1
   13 Oct 14:01:08 ntpdate[5973]: adjust time server 10.2.47.1 offset -0.192486 sec
   
   7. 用戶端設定計劃任務,每30分鐘同步時間
   #crontab -e 
   //加入内容:
   0-59/30 * * * * /usr/sbin/ntpdate 10.2.47.1 && /sbin/hwclock -w
   8. 設定定時任務開機啟動
   //設定開機啟動
   # systemctl enable crond.service
   
   //檢視狀态
   # systemctl status crond
         

安裝CM

  1. 傳包、解壓
在主節點上下載下傳相關軟體包,這裡将軟體包下載下傳到/soft目錄下。
将CM解壓到/opt/目錄
[[email protected] soft]# tar -zxvf cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz  -C /opt/
#ls /opt/
[[email protected] opt]# ls
cloudera  cm-5.15.1  rh
​      
  1. 建立資料庫
在主節點上:
# mysql -h127.0.0.1 -uroot -p   //加參數-h127.0.0.1 指定本機方式,否則可能不允許執行grant
Enter password:          \\輸入資料庫密碼
//在MariaDB [(none)]>指令狀态輸入下面腳本:
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;
grant all privileges on *.* to [email protected] identified by 'root' with grant option;
grant all on *.* to root@"%" Identified by "root";
flush privileges;
exit;
//複制Mysql JDBC包到/opt/cm-5.15.1/share/cmf/lib/目錄
[[email protected] soft]# cp mysql-connector-java-5.1.43.jar /opt/cm-5.15.1/share/cmf/lib/
​
[[email protected] soft]# /opt/cm-5.15.1/share/cmf/schema/scm_prepare_database.sh  mysql cm -h10.2.47.1 -uroot -pa464999578 --scm-host 10.2.47.1 scm scm scm
​
​      
  1. 建立使用者
在所有節點上執行:
[[email protected] ~]# useradd --system --home=/opt/cm-5.15.1/run/cloudera-scm-server/  --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
​      
  1. 制作本地yum源
在主節點上:
//進入軟體包目錄
[[email protected] ~]# cd /soft/
//拷貝三個檔案到/opt/cloudera/parcel-repo/目錄
[[email protected] soft]# cp CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 manifest.json /opt/cloudera/parcel-repo/
//進入/opt/cloudera/parcel-repo/目錄
#cd /opt/cloudera/parcel-repo/
//修改檔案名
[[email protected] parcel-repo]# mv CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha
此時/opt/cloudera/parcel-repo/目錄下檔案:
[[email protected] parcel-repo]# ls
CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel      manifest.json
CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha
​
​      
  1. 拷貝jar包
在所有節點上:
//如果沒有/usr/share/java/目錄,則建立
# cp mysql-connector-java-5.1.43-bin.jar /usr/share/java/mysql-connector-java.jar
在主節點上:
//将mysql JDBC jar 包拷貝到  /opt/cm-5.15.1/share/cmf/lib/ 目錄
[[email protected] soft]# cp mysql-connector-java-5.1.43.jar /opt/cm-5.15.1/share/cmf/lib/      
  1. 修改cloudera-scm-agent配置
在主節點上,修改/opt/cm-5.15.1/etc/cloudera-scm-agent/config.ini檔案:
//将config.ini server_host=localhost 内容改為server_host=10.2.47.1
# sed -i "s/server_host=localhost/server_host=10.2.47.1/" /opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini
在主節點上:
//将cm-5.15.1 打包,并複制到其他節點
#cd /opt 
#tar czf cm-5.15.1.tar.gz  cm-5.15.1/
//複制到其他節點
[[email protected] opt]# scp cm-5.15.1.tar.gz [email protected]:/opt/
[[email protected] opt]# scp cm-5.15.1.tar.gz [email protected]:/opt/
[[email protected] opt]# scp cm-5.15.1.tar.gz [email protected]:/opt/
[[email protected] opt]# scp cm-5.15.1.tar.gz [email protected]:/opt/
​
 在所有從節點上解壓:
//将cm-5.15.1 包解壓
#cd opt 
#tar -xzvf cm-5.15.1.tar.gz 
//解壓後删除
#rm -rf cm-5.15.1.tar.gz      
  1. 啟動CM Server和Agent
在主節點上,啟動cloudera-scm-server:
[[email protected] opt]# /opt/cm-5.15.1/etc/init.d/cloudera-scm-server start
啟動過程較慢,可通過/opt/cm-5.15.1/log/cloudera-scm-server日志,檢視啟動過程。
在所有節點上,啟動cloudera-scm-agent:
[root@master opt]# /opt/cm-5.15.1/etc/init.d/cloudera-scm-agent start      
  1. 通路CM
位址:http://master:7180    http://10.2.47.1:7180
賬号:admin
密碼:admin
顯示如下:      

安裝CDH

  1. 登入後界面接受協定:
  1. 選擇CM版本,本文選擇Cloudera Express免費版。
  1. 指定主機
在搜尋主機名和IP位址框輸入slave[1-4],這裡輸入的内容支援正規表達式。輸入後點【搜尋】按鈕,出現機器清單:      

選擇“目前管理的主機“選擇項卡,點【繼續】

  1. 選擇CDH版本
這裡需要選擇制作本地源時的版本,如果選擇别的版本的就會去官網下載下傳,那樣安裝速度會很慢。      

點【繼續】按鈕,進入安裝界面

  1. 檢查主機
在搜尋主機名和IP位址框輸入slave[1-4],這裡輸入的内容支援正規表達式。輸入後點【搜尋】按鈕,出現機器清單,點選繼續      
  • 出現cdh5.15.1新版無法顯示,此時我們需要做httpd服務
安裝http和啟動http服務
#rpm -qa |grep httpd
#yum install -y httpd
#chkconfig httpd on
#service httpd start
建立parcels檔案夾
#mkdir /var/www/html/parcels
#cd /var/www/html/parcels
# cp CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha manifest.json  /var/www/html/parcels
在網頁中輸入 http://10.2.47.1/parcels
​      
  • 出現找不到存儲包,解決如下:

點選使用parcel 更多選項更改遠端parcel存儲庫URL

http://10.2.47.1/parcels/

安裝

  • 出現“主機運作狀态不良”錯誤

解決方案如下

遇到節點“主機運作狀态不良”的提示,解決辦法是删除故障節點Agent服務cm_guid檔案:
#rm -rf /opt/cm-5.13.1/lib/cloudera-scm-agent/cm_guid
重新啟動故障節點Agent服務:
#/opt/cm-5.13.1/etc/init.d/cloudera-scm-agent restart
重新開機故障節點Agent服務後,故障消失:
注:出現故障原因是,因為我之前在故障節點啟動過cloudera-scm-agent服務。      
  1. 檢查主機,全部通過
  1. 選擇安裝的服務,全部安裝
  1. 角色配置設定
  1. 資料庫設定
指定的資料庫名稱,與原來建立的資料庫(hive,monitor,oozie,hue)保持一緻,并輸入對應的資料庫使用者名和密碼,為了簡便這裡用的是root賬号名和密碼。
測試連接配接,Hue 測試報錯:Unable to verify database connection:
原因是缺少Mysql mysql-community-libs-compat 安裝包,安裝後,問題解決:
//進入安裝包所在目标
# cd /data/mysql/ 
# rpm -ivh  mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm
測試成功,繼續
​      
  1. 叢集設定,預設配置,直接點選繼續
  1. 開始安裝
  • 安裝spark顯示找不到JAVA_HOME,解決方案如下:
#mkdir -p /usr/java
#ln -s /soft/jdk /usr/java/default
重新整理問題解決。      
  • 出現hive資料庫驅動找不到,解決方案如下:
因為缺少mysql驅動
[[email protected] soft]# cp /soft/mysql-connector-java-5.1.43.jar /opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/lib/hive/lib/
問題解決。      
  • 出現oozie資料庫驅動找不到,解決方案如下:
因為缺少mysql驅動
[[email protected] soft]# cp /soft/mysql-connector-java-5.1.43.jar /opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/lib/oozie/lib/
[[email protected] soft]# cp /soft/mysql-connector-java-5.1.43.jar /opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/lib/oozie/libext/
​      
  1. 安裝完成

第一次安裝完成後,會出現一些配置的警告資訊。這些可以根據提示資訊更改。

  • 警告處理

發現節點有異常資訊,顯示所有主機,發現節點運作狀态不良,按照 主機->所有主機->進入節點檢視:

選擇“配置“頁簽,拉到頁面底部,修改”主機時鐘偏差門檻值“,設為”從不“,點【儲存更改】,異常消失。

  • 未能連接配接到 Host Monitor
解決方案:
背景tail -f /opt/cm-5.15.1/log/cloudera-scm-server/cloudera-scm-server.log 日志報錯資訊:
com.cloudera.cmon.MgmtServiceLocatorException: Could not find a HOST_MONITORING nozzle from SCM.
此問題原因:有些網上說是由檔案句柄數限制引起,是以按照網上說明進行了修改:
在主節點上,修改/opt/cm-5.15.1/etc/cloudera-scm-agent/config.ini檔案:
//檢視檔案句柄數,顯示1024,顯然太小
# ulimit -n 
1024
//修改限制
#vi /etc/security/limits.conf 
//在檔案後加入下面内容:
* soft nofile 100000
* hard nofile 100000
此步驟需要重新開機機器生效,可以設定完後再重新開機。