超简单的CDH6部署和体验(单机版)
欢迎访问我的GitHub
内容:所有原创⽂章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;
为什么会超简单
借助ansible简化了CDH6部署⼯作的⼤部分内容,也降低了⼿⼯操作失误的概率,今天实战的内容,是在⼀台安装了ansible的电脑上(苹果或Linux操作系统)运⾏ansible脚本,远程操作⼀台CentOS服务器,在上⾯部署CDH6,并操作验证本次部署是否成功。
ansible学习
如果您想了解ansible,请参考
为什么要部署单机版CDH6
主要是⽤来做为⼤数据技术的学习和开发的环境,并不适合⽣产;
实战简述
本次实战内容:部署、启动、验证,整个过程如下图所⽰:
全⽂⼤纲
本⽂由以下章节组成:
1. 环境信息;
2. 下载⽂件;
3. ⽂件摆放;
4. CDH机器设置;
5. ansible参数设置;
6. 部署;
7. 重启CDH服务器
8. 启动;
9. 设置;
10. 修复问题;
11. 体验;
环境信息
本次实战的操作过程如下图所⽰,安装ansible2.9版本的MabBook Pro电脑作为ansible服务器,执⾏playbook脚本,对⼀台CentOS服务器进⾏远程操作,完成CDH6的部署和启动:
上图蓝⾊背景的电脑,可以是苹果操作系统,也可以是Linux操作系统,黄⾊背景的电脑要⽤来运⾏CDH6,必须是CentOS7.7操作系统(实在对不起,我这条件有限,别的系统没有试过)
整个实战涉及的环境版本信息如下:
1. ansible服务器:macOS Catalina 10.15(实测⽤CentOS7.7也成功)
2. CDH服务器:CentOS Linux release 7.7.1908
3. cm版本:6.1.0
4. parcel版本:6.1.1
5. jdk版本:8u191
下载⽂件(ansible服务器)
本次实战⽤到的所有⽂件如下表所⽰:
| 编号 | ⽂件名 | 简介 |
mysql下载下来没安装包|--|--|--|--|
| 1 | | Linux版的jdk安装包 |
| 2 | mysql-connector-java-5.1.34.jar | mysql的JDBC驱动 |
| 3 | cloudera-manager-server-6.1.0-769885.el7.x86_64.rpm | cm的server安装包 |
| 4 | cloudera-manager-daemons-6.1.0-769885.el7.x86_64.rpm | cm的daemon安装包 |
| 5 | cloudera-manager-agent-6.1.0-769885.el7.x86_64.rpm | cm的agent安装包 |
| 6 | CDH-6.1.1-1.cdh6.1.1.p0.875250-el7.parcel | CDH应⽤离线安装包 |
| 7 | CDH-6.1.1-1.cdh6.1.1.p0.875250-el7.parcel.sha | CDH应⽤离线安装包sha验证码 |
| 8 | hosts | ansible⽤到的远程主机配置,⾥⾯记录了CDH6服务器的信息 |
| 9 | ansible.cfg | ansible⽤到的配置信息 |
| 9 | ansible.cfg | ansible⽤到的配置信息 |
| 10 | l | 部署CDH时⽤到的ansible脚本 |
| 11 | l | 初次启动CDH时⽤到的ansible脚本 |
上述11个⽂件的下载地址:
1. :Oracle官⽹可下,另外我将和mysql-connector-java-5.1.34.jar⼀起打包上传到csdn,您可以⼀次性下载,地址:
2. mysql-connector-java-5.1.34.jar:maven中央仓库可下,另外我将和mysql-connector-java-5.1.34.jar⼀起打包上传到csdn,您可以⼀次性下载,
地址:
3. cloudera-manager-server-6.1.0-769885.el7.x86_6
4.rpm:
4. cloudera-manager-daemons-6.1.0-76988
5.el7.x86_64.rpm:
5. cloudera-manager-agent-
6.1.0-769885.el
7.x86_64.rpm:
6. CDH-6.1.1-1.cdh6.1.1.p0.875250-el
7.parcel:
7. CDH-6.1.1-1.cdh6.1.1.p0.875250-el7.parcel.sha:(下载完毕后,将扩展名从.sha256改为.sha)
8. hosts、ansible.cfg、l、l:这四个⽂件都保存在我的GitHub仓库,地址是:,这⾥⾯有多个⽂件夹,上述⽂件在名为ansible-cdh6-
single的⽂件夹中,如下图红框所⽰:
⽂件摆放(ansible服务器)
如果您已经下载好了上述11个⽂件,请按照如下位置摆放,这样才能顺利完成部署:
1. 在家⽬录下新建名为playbooks的⽂件夹:mkdir ~/playbooks
2. 把这四个⽂件放⼊playbooks⽂件夹:hosts、ansible.cfg、l、l
3. 在playbooks⽂件夹⾥新建名为cdh6的⼦⽂件夹;
4. 把这七个⽂件放⼊cdh6⽂件夹(即剩余的七个):、mysql-connector-java-
5.1.34.jar、cloudera-manager-server-
6.1.0-769885.el
7.x86_64.rpm、
cloudera-manager-daemons-6.1.0-769885.el7.x86_64.rpm、cloudera-manager-agent-6.1.0-769885.el7.x86_64.rpm、CDH-6.1.1-1.cdh6.1.1.p0.875250-el7.parcel、CDH-6.1.1-1.cdh6.1.1.p0.875250-el7.parcel.sha
5. 摆放完毕后⽬录和⽂件情况如下图,再次提醒,⽂件夹playbooks⼀定要放在家⽬录下(即:~/):
CDH服务器设置
本次实战中,CDH服务器hostname是deskmini,IP地址是192.168.50.134,需要做以下操作:
1. 请确保CDH服务器能SSH登录(⽤户名+密码);
2. SSH登录到部署CDH的机器;
3. 检查/etc/hostname⽂件是正确,如下图:
4. 修改/etc/hosts⽂件,将⾃⼰的IP地址和hostname配置上去,如下图红框所⽰(事实证明这⼀步很重要,如果不做可能导致在部署时⼀直卡在"分配"阶段,看agent⽇志显⽰
agent下载parcel的进度⼀直是百分之零):
ansible参数设置(ansible服务器)
ansible参数设置的操作设置很简单,就是把部署CDH的机器信息配置好即可,包括IP地址、登录账号、密码等,修改~/playbooks/hosts⽂件,内容如下所⽰,您需要根据⾃⾝情况修改deskmini、ansible_host、ansible_port、ansible_user、ansible_password:
[cdh_group]
deskmini ansible_host=192.168.50.134 ansible_port=22 ansible_user=root ansible_password=888888
部署(ansible服务器)
1. 进⼊~/playbooks⽬录;
2. 检查ansible远程操作CDH服务器是否正常,执⾏命令ansible deskmini -a "free -m",正常情况下显⽰CDH服务器的内存信息,如下图:
3. 执⾏此命令开始部署:l
4. 整个部署过程涉及在线安装、传递⽂件等耗时的操作,因此请耐⼼等待(半⼩时左右),我在部署期间遭遇⽹络问题导致失败退出,待⽹络正常后再重新执⾏上述操作即
可,ansible保证了操作的幂等性;
5. 部署成功如下图所⽰:
重启CDH服务器
由于修改了selinux和swap的设置,需要重启操作系统才能⽣效,因此请重启CDH服务器;启动(ansible服务器)
1. 等待CDH服务器重启成功;
2. 登录ansible服务器,进⼊~/playbooks⽬录;
3. 执⾏此命令开始初始化数据库,然后启动CDH:l
4. 启动完成输出如下信息:
设置(⽹页)
CDH已经启动,CDH服务器对外提供了web服务,可以通过浏览器来操作:
1. 浏览器访问:,如下图,账号密码都是admin:
2. ⼀路next,在选择版本页⾯选择60天体验版:
3. 选择主机页⾯可见deskmini:
4. 选择下图红框中的CDH版本,因为对应的离线包已经复制到CM的本地仓库,⽆需下载:
5. 下载瞬间完成,等候分配、解压、激活:
6. 选择服务的页⾯,我这⾥选择了Data Engineering,因为需要spark:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。