#1. 环境
- Centos 7.6
- JDK 1.8
- Scala 2.11.8
- 服务器3台
#2. 服务器搭建前环境准备 ####1.所有节点关闭防火墙
1#查看防火墙状态 2firewall-cmd --state 3#停止firewall 4systemctl stop firewalld.service 5#禁止firewall开机启动 6systemctl disable firewalld.service
####2.所有节点修改主机名
1vim /etc/sysconfig/network 2vim /etc/hostname
####3.所有节点配置主机名与ip地址映射
vim /etc/hosts

####4.所有节点关闭SELINUX 修改配置文件/etc/selinux/config(重启生效),将SELINUX=enforcing 改为SELINUX=disabled 
####5.所有节点重启
reboot
####6.所有节点配置ssh免密登录
-
生成公钥和私钥 任意目录下 ssh-keygen -t rsa , 然后敲 3 下回车,就会在 ~/.ssh 下生成两个文件 id_rsa(私钥),id_rsa.pub(公钥)。
-
将公钥拷贝到要免密登录的目标机器上 进入~/.ssh目录,拷贝公钥 ssh-copy-id cdh02
注意:**ssh 不会携带 /etc/profile,但是会携带 ~/.bashrc,建议在 ~/.bashrc 内添加 source /etc/profile **
####7.所有节点安装JDK,配置环境变量 
####8.所有节点安装Scala,配置环境变量 
#3. 安装Mysql ####1.卸载系统自带的相关数据库
1rpm -qa | grep mysql 2rpm -qa | grep mariadb 3 4rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
####2.部署Mysql
tar -zxvf mysql-5.7.25-el7-x86_64.tar.gz -C /opt/module/
####3.账号与权限
1#添加账号 2groupadd mysql 3useradd -g mysql -s /sbin/nologin mysql 4 5#创建data目录 6mkdir /opt/module/mysql-5.7.25-el7-x86_64/data 7 8#修改权限 9chown -R mysql:mysql /opt/module/mysql-5.7.25-el7-x86_64/
####4.初始化Mysql,获取root@localhost的初始密码
1cd /opt/module/mysql-5.7.25-el7-x86_64 2 3 4./bin/mysqld --initialize --user=mysql --basedir=/opt/module/mysql-5.7.25-el7-x86_64 --datadir=/opt/module/mysql-5.7.25-el7-x86_64/data

####5.配置环境变量
1vim /etc/profile 2 3 4source /etc/profile

####6.设置开机启动
1#复制开机启动脚本到系统服务 2cp /opt/module/mysql-5.7.25-el7-x86_64/support-files/mysql.server /etc/rc.d/init.d/mysqld 3chown mysql:mysql /etc/rc.d/init.d/mysqld 4 5# 修改默认的"basedir"与"datadir" 6vim /etc/rc.d/init.d/mysqld 7basedir=/opt/module/mysql-5.7.25-el7-x86_64 8datadir=/opt/module/mysql-5.7.25-el7-x86_64/data 9 10#添加开机启动脚本 11chkconfig --add mysqld 12 13#3:带网络的多用户,也就是所谓的纯字符模式 14#5:图形界面的多用户模式 15chkconfig --level 35 mysqld on
####7.设置文件路径:log && pid && socket
1# 日志路径 2mkdir -p /var/log/mysqld 3touch /var/log/mysqld/mysqld.log 4chown -R mysql:mysql /var/log/mysqld/ 5 6# pid路径 7mkdir -p /var/run/mysqld 8chown -R mysql:mysql /var/run/mysqld/ 9 10# socker路径 11mkdir -p /var/lib/mysqld 12chown -R mysql:mysql /var/lib/mysqld/ 13ln -s /var/lib/mysqld/mysql.sock /tmp/mysql.sock
####8.设置my.cnf文件
1# 注意"log-error","pid-file"与"socket"的路径 2mkdir -p /opt/module/mysql-5.7.25-el7-x86_64/etc 3vim /opt/module/mysql-5.7.25-el7-x86_64/etc/my.cnf 4 5 6[mysqld] 7character-set-server=utf8 8max_connections = 3000 9log-error=/var/log/mysqld/mysqld.log 10pid-file=/var/run/mysqld/mysqld.pid 11socket=/var/lib/mysqld/mysql.sock 12sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 13 14[mysql] 15default-character-set=utf8 16 17# 软链接 18ln -s /opt/module/mysql-5.7.25-el7-x86_64/etc/my.cnf /etc/my.cnf 19 20# 赋权 21chown -R mysql:mysql /opt/module/mysql-5.7.25-el7-x86_64/etc/
####9.启动Mysql
1# 使用初始化密码登陆 2mysql -uroot -p 3 4set password=password(‘123456‘); 5flush privileges; 6 7# 远程登陆权限 8grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; 9flush privileges; 10 11# 查看账号 12select user, host, authentication_string from mysql.user;

#4.Cloudera Mnanger安装
CM下载地址:http://archive.cloudera.com/cm5/cm/5/ 离线库下载地址:http://archive.cloudera.com/cdh5/parcels
####1.所有节点下载第三方依赖
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
####2.创建CM需要的数据库
1--集群监控数据库 2create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 3 4--hive数据库 5create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 6 7--oozie数据库 8create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 9 10--hue数据库 11create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

####3.解压 cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz (在cdh01上)
1mkdir /opt/module/cloudera-manager 2tar -zxvf /opt/software/cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz -C /opt/module/cloudera-manager/
####4.创建用户cloudera-scm(所有节点)
1useradd --system --home=/opt/module/cloudera-manager/cm-5.16.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm 2 3# --system 创建一个系统账户 4# --home 指定用户登入时的主目录,替换系统默认值/home/<用户名> 5# --no-create-home 不要创建用户的主目录 6# --shell 用户的登录 shell 名 7# --comment 用户的描述信息
注意: Cloudera Manager默认用户为cloudera-scm,创建具有此名称的用户是最简单的方法。 安装完成后,将自动使用此用户。
####5.配置CM Agent
vim /opt/module/cloudera-manager/cm-5.16.1/etc/cloudera-scm-agent/config.ini

####6.配置CM的数据库 #####1.拷贝mysql jar文件到目录 /usr/share/java/
1mkdir /usr/share/java/ 2cp /opt/software/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /usr/share/java/ 3 4#注意jar包名称要修改为mysql-connector-java.jar 5mv /usr/share/java/mysql-connector-java-5.1.27-bin.jar /usr/share/java/mysql-connector-java.jar
#####2.在mysql中创建cm库
1/opt/module/cloudera-manager/cm-5.16.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hcdh01 -uroot -p123456 --scm-host cdh01 scm scm scm 2 3## -h:Database host 4## -u:Database username 5## -p:Database Password 6## --scm-host:SCM server's hostname

####7.分发cloudera-manager
1scp -r /opt/module/cloudera-manager/ cdh02:/opt/module/ 2scp -r /opt/module/cloudera-manager/ cdh03:/opt/module/
####8.创建Parcel-repo 目录(cdh01)
1mkdir -p /opt/cloudera/parcel-repo 2chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo 3 4cp /opt/software/CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel /opt/cloudera/parcel-repo/ 5 6cp /opt/software/CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha /opt/cloudera/parcel-repo/ 7 8cp /opt/software/manifest.json /opt/cloudera/parcel-repo/

####9.在Agent 节点(cdh01,cdh02,cdh03)创建目录/opt/cloudera/parcels
1mkdir -p /opt/cloudera/parcels 2chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
####10.分发Parcel-repo
1scp -r /opt/cloudera/ cdh02:/opt/ 2scp -r /opt/cloudera/ cdh03:/opt/
####11.启动和关闭CM Server&Agent 服务 服务节点:cdh01
/opt/module/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-server start

工作节点:cdh01,cdh02,cdh03
/opt/module/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-agent start

注意:启动过程非常慢,Manager 启动成功需要等待一段时间,过程中会在数据库中创建对应的表需要耗费一些时间。
####12.访问http://xxx:7180,账号密码:admin 
#5.安装CDH ####1.最终用户许可条款和条件 
####2.部署版本 
####3.指定集群服务的安装节点 
####4.选择CDH版本 
####5.集群安装,安装速度视网络情况而定 
####6.检查主机正确性 
####7.群集设置,安装服务(选择自定义服务) 
####8.分配角色 
####9.数据库设置 
####10.审核更改 
####11.首次运行 
####12.服务安装完成