一、准备工作

$ hostnamectl set-hostname hadoop01
$ hostnamectl set-hostname hadoop02
......
所有机器关闭防火墙
$ systemctl stop firewalld.service
设置Master到其他机器的ssh免密登录
$ ssh-kengen
$ ssh-copy-id hadoop01
$ ssh-copy-id hadoop02
$ ssh-copy-id hadoop03
NTP服务器时间设置
$ service ntpd start
$ chkconfig ntpd on

二、安装ClouderaManager

2.1、安装必备软件

$ yum -y install psmisc
$ yum -y install libxslt
$ yum -y install screen
$ yum -y install telnet

2.2、 安装MySql

安装MySql并添加到自启动

// 下载rpm文件
$ wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
// 安装rpm
$ rpm -ivh mysql57-community-release-el7-11.noarch.rpm
// 安装MySql
$ yum install mysql-community-server
//添加为自启动
$ chkconfig mysqld on
$ systemctl start mysqld.service
修改mysql密码
//获取MySql生成的临时密码
$ grep 'temporary password' /var/log/mysqld.log
//更新密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxxxx';
// 授权远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxxxxx WITH GRANT OPTION;
// 刷新授权
FLUSH PRIVILEGES;

2.3、 安装JDK

JDK版本选择需要参照官方文档并且结合业务服务来选择

服务端后台使用jdk1.8,所以优选jdk1.8。CDH5.8.0官方对jdk的支持描述

JDK 1.8u40 and JDK 1.8u60 are excluded from support. Also, the Oozie Web Console returns 500 error when Oozie server runs on JDK 8u75 or higher.

文档中说明1.8u40和1.8u60已经不被支持,Oozie Web控制台则不支持8u75及以上版本。

所以最终选择1.8u66作为Cloudera Manager5.8.0使用的jdk版本。

注:在安装Jdk之前必须先移除其它Jdk版本,当系统中存在多个Jdk时,在后续CDH安装过程中,CM无法发现CDH的parcels包,会导致无法安装

2.4、 安装Cloudera Manager

登录集群所有机器,执行命令,创建Cloudera SCM用户

$ useradd --system --home=/opt/cm-5.8.0/rum/cloudera-scm-server/ --no-create-home --shell/bin/false --comment "Cloudera SCM User" cloudera-scm

解压下载好的Cloudera Manager到Master机器的/opt目录下

添加MySql Connector jar包供Cloudera Manager连接MySql

将下载好的Mysq Connector复制到/opt/cm-5.8.0/share/cmf/lib/目录下。

:MySql连接包版本选择,5.1.1报错无法解决,查资料后属于连接包bug,升级到5.1.20依然报相同错误,最终升级到5.1.37解决

2.5、为Cloudera Manager配置外部数据库

/opt/cm-5.8.0/share/cmf/shema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pxxxxxx --scm-host localhost scm scm

2.6、 修改Agent配置并分发安装包

ClouderaManager分为两个角色

Scm-Agent

Scm-Server

登录Master机器,修改Agent配置

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

将server_host的值改成Master机器的主机名,然后分发安装包到其它所有机器

scp -r /opt/cm5.8.0 root@hadoop02:/opt/

scp -r /opt/cm5.8.0 root@hadoop03:/opt/

2.7、 准备Parcels

登录Master机器,将

CDH-5.8.0-1.cdh5.8.0.p0.42-el7.parcel

CDH-5.8.0-1.cdh5.8.0.p0.42-el7.parcel.sha1

manifest.json

三个文件复制到/opt/cloudera/parcel-repo/文件夹下,并将CDH-5.8.0-1.cdh5.8.0.p0.42-el7.parcel.sha1重命名为CDH-5.8.0-1.cdh5.8.0.p0.42-el7.parcel.sha。

注: 此处应该检查parcel文件的大小和完整性,在使用wget断点下载的情况下,有可能未下载完成即使用会导致后续CDH web控制台无法发现cdh版本

2.8、 启动Cloudera Manager

登录Master机器,启动 scm Server

/opt/cm-5.8.0/etc/init.d/cloudera-scm-server start

登录集群所有机器,启动scm Agent

/opt/cm-5.8.0/etc/init.d/cloudera-scm-agent start

启动成功后,就可以通过master的7180端口访问CM Web了。

三、CDH安装

登录CDH Web,选择部署版本免费版。

选择安装指定的主机

集群版本选择,如果配置无误,parcel-repo里的文件没有问题,此时选择使用parcel安装,就可以看到CDH5.8.0版本,选定CDH5.8.0继续安装

安装完成后会检查所有集群状况

待全部检查通过后,按需选择安装组件

HBase

HDFS

Hive

Hue

Oozie

Sqoop2

Yarn

ZooKeeper

给各个集群各个节点分配角色

设置MySql连接,完成