资源规划

组件 cfp-acrm-cdh-1 cfp-acrm-cdh-2 cfp-acrm-cdh-3
OS redhat-6.8 redhat-6.8 redhat-6.8
CDH CDH-5.8.3 CM/Agent CDH-5.8.3 Agent CDH-5.8.3 Agent
Java jdk-8u221 jdk-8u221 jdk-8u221
scala scala-2.11.8 scala-2.11.8 scala-2.11.8
MySQL N.A N.A MySQL-5.7.30

安装介质

版本:cloudera-manager-el6-cm5.8.3x86_64.tar.gz
CM下载:http://archive.cloudera.com/cm5/cm/5/
_
离线包下载:http://archive.cloudera.com/cdh5/parcels

集群配置

  1. # 设置主机名(集群所有节点)
  2. sudo vi /etc/hosts

配置如下:

  1. # 注意:务必注释# 127.0.1.1 ${HOST_NAME}
  2. # 本机内网IP建议配置与第一行(多个域名情况下)
  3. 192.168.0.101 cfp-acrm-cdh-1
  4. 192.168.0.102 cfp-acrm-cdh-2
  5. 192.168.0.103 cfp-acrm-cdh-3
  6. # 分发到集群其他节点
  7. for i in {2,3} ;do scp /etc/hosts cfp-acrm-cdh-$i:/etc;done

为了便于Windows主机上维护CM,可以将集群节点IP加入到hosts(C:\Windows\System32\Drivers\etc):

  1. 192.168.0.101 cfp-acrm-cdh-1
  2. 192.168.0.102 cfp-acrm-cdh-2
  3. 192.168.0.103 cfp-acrm-cdh-3

环境准备

Φ 安装操作系统

参考:《基于Vagrant的RedHat6.8

Φ SSH免密

参考:《RedHat6.8-SSH免密
注意:需要配置root用户的SSH免密。

Φ 安装JDK

参考:《RedHat6.8-安装JDK-1.8.221
注意:需要配置root用户的/etc/profile,而不是其他用户的~/.bashrc,并且安装目录不要安装在其他用户目录下,安装过程使用root。

Φ 安装Scala

参考:《RedHat6.8-安装Scala-2.11.8
注意:需要配置root用户的/etc/profile,而不是其他用户的~/.bashrc,并且安装目录不要安装在其他用户目录下,安装过程使用root。

Φ 安装MySQL

参考:《RedHat6.8-安装MySQL-5.7.30
在MySQL中依次创建CDH监控数据库、Hive数据库、Oozie数据库、Hue数据库。

  1. # 1)启动数据库
  2. mysql -uroot -p123456
  3. use mysql;
  4. select User, Host from user;
  5. update user set host='%' where host='localhost';
  6. # 删除root用户的其他host(%之外)
  7. flush privileges;
  8. # 2)集群监控数据库
  9. create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
  10. # 3)Hive数据库
  11. create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
  12. # 4)Oozie数据库
  13. create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
  14. # 5)Hue数据库
  15. create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
  16. # 6)关闭数据库
  17. quit

Φ 安装第三方依赖

依次在所有Agent的节点上执行下载安装第三方依赖。

  1. yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

CDH安装部署

注:以下所有操作均使用root用户。

Φ 安装准备

  1. sudo su
  2. # 1)创建cm安装目录(所有节点)
  3. mkdir -p /opt/cm
  4. # 2)解压安装包到cm安装目录
  5. cd /share
  6. tar -zxvf cloudera-manager-el6-cm5.8.3_x86_64.tar.gz -C /opt/cm
  7. # 3)集群所有CM/Agent节点上创建用户cloudera-scm
  8. useradd \
  9. --system \
  10. --home=/opt/cm/cm-5.8.3/run/cloudera-scm-server \
  11. --no-create-home \
  12. --shell=/bin/false \
  13. --comment "Cloudera SCM User" cloudera-scm

参数说明:

  • —system:创建一个系统账户
  • —home:指定用户登入时的主目录,替换系统默认值/home/<用户名>
  • —no-create-home:不要创建用户的主目录
  • —shell:用户的登录 shell 名
  • —comment:用户的描述信息

注意:Cloudera Manager默认去找用户cloudera-scm,创建完该用户后,将自动使用此用户。

Φ CM Agent配置

  1. vi /opt/cm/cm-5.8.3/etc/cloudera-scm-agent/config.ini

配置如下:

  1. server_host=cfp-acrm-cdh-1

Φ CM元数据库驱动

  1. # 所有节点
  2. cp -rf /share/mysql-connector-java-5.1.40.jar /usr/share/java/mysql-connector-java.jar

注意:jar包名称要修改为mysql-connector-java.jar(即与**config.ini中cloudera_mysql_connector_jar属性值相同即可**。

Φ CM元数据库创建

scm用户授权(若执行创建过程中出现权限问题则执行如下命令):

  1. use mysql;
  2. update user set host = '%' where user = 'scm';
  3. grant all on *.* to scm@'%' identified by '531.Desk' with grant option;
  4. grant all privileges on *.* to scm@'%' identified by 'scm' with grant option;
  5. flush privileges;

CM元数据库创建:

  1. /opt/cm/cm-5.8.3/share/cmf/schema/scm_prepare_database.sh mysql cm -hcfp-acrm-cdh-3 -uroot -p123456 --scm-host cfp-acrm-cdh-1 scm scm scm

参数说明:

  • -h:远程数据库的主机名
  • -u:数据库名称
  • -p:数据库密码
  • —scm-host:SCM服务器主机名

    Φ 分发

    1. scp -r /opt/cm root@cfp-acrm-cdh-2:/opt/
    2. scp -r /opt/cm root@cfp-acrm-cdh-3:/opt/

    Φ CM离线仓库

    1. # 创建CM离线仓库目录并更改所属组合所属用户为cloudera-scm
    2. mkdir -p /opt/cloudera/parcel-repo
    3. chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
    4. # 拷贝下载文件manifest.json,*.parcel,*.parcel.sha1到CM离线仓库目录
    5. cp -rf /share/manifest.json /opt/cloudera/parcel-repo/
    6. cp -rf /share/CDH-5.8.3-1.cdh5.8.3.p0.2-el6.parcel /opt/cloudera/parcel-repo/
    7. cp -rf /share/CDH-5.8.3-1.cdh5.8.3.p0.2-el6.parcel.sha1 /opt/cloudera/parcel-repo/
    8. # 修改验证文件后缀
    9. cd /opt/cloudera/parcel-repo
    10. mv CDH-5.8.3-1.cdh5.8.3.p0.2-el6.parcel.sha1 CDH-5.8.3-1.cdh5.8.3.p0.2-el6.parcel.sha
    11. # 创建Agent离线仓库目录
    12. mkdir -p /opt/cloudera/parcels
    13. chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
    14. # 分发
    15. scp -r /opt/cloudera root@cfp-acrm-cdh-2:/opt/
    16. scp -r /opt/cloudera root@cfp-acrm-cdh-3:/opt/
    17. # 分发后重新授权(节点2、3)
    18. chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
    19. chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

    启动CM

    Φ 启动CM Server

    1. # 节点1
    2. /opt/cm/cm-5.8.3/etc/init.d/cloudera-scm-server start
    3. /opt/cm/cm-5.8.3/etc/init.d/cloudera-scm-server status
    4. /opt/cm/cm-5.8.3/etc/init.d/cloudera-scm-server stop

    Φ 启动CM Agent

    1. # 节点1、2、3
    2. /opt/cm/cm-5.8.3/etc/init.d/cloudera-scm-agent start
    3. /opt/cm/cm-5.8.3/etc/init.d/cloudera-scm-agent status
    4. /opt/cm/cm-5.8.3/etc/init.d/cloudera-scm-agent stop
    注意:启动过程非常慢,Manager启动成功需要等待5分钟左右,过程中会在数据库中创建对应的表需要耗费一些时间。

    验证

    1. # -c:会话自动刷新
    2. netstat -anp -c | grep 7180
    浏览器入口:http://cfp-acrm-cdh-1:7180
    账户口令:admin/admin
    CM TCP端口参考:https://www.yuque.com/polaris-docs/bigdata/cdh