0 说明
本文以CDH搭建数据仓库,基于三台阿里云服务器从零开始搭建CDH集群,节点配置信息如下:
节点 | 内存 | 安装服务角色 |
---|---|---|
chen102 | 16G | cloudera-scm-server |
chen103 | 8G | cloudera-scm-agent |
chen104 | 8G | cloudera-scm-agent |
上传需要用到的安装包:
① CDH安装包,百度云分享如下:
链接:https://pan.baidu.com/s/1N9QBYxpgGOKtEeaw7Y3bpQ 提取码:o73t
② JDK(JDK8+),百度云连接
链接:https://pan.baidu.com/s/1BGw-y2sDLeqtA8ZSlf1JZw
提取码:08c8
1 前期准备
1.1 配置集群hosts文件
配置集群hosts文件,并将集群节点和ip映射配置到hosts文件中。
1.2 打通免密
- 生成私钥和公钥
ssh-keygen -t rsa
2)将公钥拷贝到要免密登录的目标机器上
ssh-copy-id chen102
ssh-copy-id chen103
ssh-copy-id chen104
在其他节点重复上面操作,即可
1.3 安装JDK并配置环境变量
注:CDH只能识别/usr目录下的java,这里需要将java安装在/usr目录下,这里不再赘述
1.4 安装Mysql
只需在chen102节点上安装
1)卸载mariadb
rpm -qa | grep mariadb | xargs rpm -e --nodeps
2)下载msql5.7 yum源
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
3)安装yum源
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
4)安装mysql
yum -y install mysql-server
5)启动mysql
service mysqld start
6)查看root用户密码
grep 'temporary password' /var/log/mysqld.log d9V,K1..6e.Q
7)执行mysql初始化脚本
mysql_secure_installation
8)输入新密码(至少12个字符,至少包含一个大写字母有,一个小写字母,一个数字,一个特殊字符)
9)配置root用户远程访问权限
mysql> grant all privileges on *.* to 'root' @'%' identified by 'Chen.123456';
mysql> flush privileges;
10)为CM安装mysql驱动
将mysql-connector-java-5.1.27-bin.jar拷贝到/usr/share/java路径下,并重命名
2 安装CM
2.1 搭建离线yum源
(1)将压缩包cloudera-repos.tar.gz拷贝到集群中的一台节点,解压到/var/www/html路径下
[root@chen102 ~]# tar -zxvf cloudera-repos.tar.gz -C /var/www/html
(2)进入/var/www/html/路径,并开启http服务
[root@chen102 ~]# cd /var/www/html/
[root@chen102 html]# python -m SimpleHTTPServer 8900
(3)浏览器访问该节点的8900端口,查看http服务是否正常开启
(4)编辑本地yum源配置文件
vim /etc/yum.repos.d/cloudera-manager.repo
文件内容如下
[cloudera-manager]
name=cloudera-manager
baseurl=http://chen102:8900/cloudera-repos/cm6/6.2.1/redhat7/yum/
enabled=1
gpgcheck=0
(5)分发该配置文件
2.2 安装CM server及agent
[root@chen102 ~]# yum -y install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
[root@chen103 ~]# yum -y install cloudera-manager-agent cloudera-manager-daemons
[root@chen104 ~]# yum -y install cloudera-manager-agent cloudera-manager-daemons
2.3 修改CM配置文件
vim /etc/cloudera-scm-agent/config.ini
2.3 在Mysql中建库
mysql> CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
为CM配置数据库(自带脚本)
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm root Chen.123456
2.4 启动CM服务
chen102执行
systemctl start cloudera-scm-server
chen102-104执行
systemctl start cloudera-scm-agent
查看Server启动日志
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
看见Started Jetty server即说明启动成功
访问http://hadoop102:7180(初始用户名、密码均为admin)
3 部署CDH集群
欢迎页面
选择免费版
3.1 填写安装部署集群名
3.2 选择物理机节点
3.3 添加本地parcel库
选择更多选型,添加本地parcel库配置
3.4 选择CDH版本
3.5 等待parcel的下载、分配、解压和激活
3.6 检查集群网络环境
3.7 群集设置
选择自定义服务,然后选择你想要安装的组件,点击继续即可
3.8 分配角色实例
3.9 数据库设置
测试mysql连接是否正常,输入之前安装部署mysql进行连接测试,确保连接成功
3.10 确认配置
按默认配置即可,点击继续
3.11 等待安装
等待全部安装完成,点击继续
3.12 安装完成
CDH安装完成页面总览
4 CDH停止规范
4.1 停止集群
等待所有服务停止完成
4.2 Cloudera Management Service
等待成功关闭
4.3 停止agent
所有节点执行
systemctl stop cloudera-scm-agent
4.4 停止server
chen102节点执行
systemctl stop cloudera-scm-server
4.4 关闭阿里云主机
选择停机不收费方式,关闭阿里云主机
接下来是CDH-业务数仓和用户行为数仓搭建,详见《CDH数仓项目(二) —— 用户行为数仓和业务数仓搭建》