
CDH5部署三部曲之一:准备工作
发布日期:2021-05-09 00:59:58
浏览次数:12
分类:博客文章
本文共 2584 字,大约阅读时间需要 8 分钟。
欢迎访问我的GitHub
内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;
系列介绍
《CDH5部署三部曲》共三篇文章,对CDH5.7.2版本的准备、部署、启动、设置等环节进行实战,内容如下:
第一篇:《准备工作》,即CDH集群中每一台机器都要做的操作;
第二篇:《部署和设置》,本章完成CDH集群部署和启动;第三篇:《问题总结》,列出实战中遇到的问题及解决办法;系列文章链接
版本信息
- CentOS:7.6.1810
- Python: 2.7.5(操作系统自带)
- CM包:cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz
服务器规划
本次搭建的CDH集群一共用到三台机器,一台master,另外两台是agent:
主机名 | IP地址 | 内存 | 身份 |
---|---|---|---|
master | 192.168.133.152 | 双核4G内存 | 管理节点 |
worker1 | 192.168.133.153 | 双核8G内存 | 任务节点 |
worker2 | 192.168.133.154 | 双核16G内存 | 任务节点 |
文件下载
- cm下载地址: ,找到自己需要的cm包下载,本次实战用的是cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz,如下图红框:
- parcel下载地址: ,本次实战用到的是CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel,请下载下图红框中的三个文件,注意一共要下载三个文件:
所有机器都要做的相同操作
以下操作需要master、worker1、worker2各自做一遍:
- 本次实战在所有机器上的操作,都使用root账号;
- 确保所有机器都可以用SSH工具远程登录;
- 安装时间同步工具:
yum install -y ntpdate
- 时间同步:
ntpdate cn.ntp.org.cn
- 关闭和禁用防火墙:
systemctl stop firewalld && systemctl disable firewalld
- 关闭SELINUX:打开文件/etc/selinux/config,找到SELINUX=xxx那一行,改为SELINUX=disabled,如下图红框:
- 关闭swap:打开文件/etc/fstab,找到带有swap的那一行,注释掉,如下图红框:
- 重启电脑;
- 新建文件夹/usr/lib/jvm
- 安装JDK,我这里下载的是jdk-8u191-linux-x64.tar.gz,解压后是个名为jdk1.8.0_191的文件夹,将此文件夹放在/usr/lib/jvm目录下;
- 打开文件/etc/profile,在尾部增加以下内容:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_191export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH
- 使配置生效:
source /etc/profile
- CDH默认的JDK目录是 /usr/java/default,因此要创建软链接,执行以下命令:
mkdir /usr/java && ln -s /usr/lib/jvm/jdk1.8.0_191 /usr/java/default
- 检查Python是否可用,如果没有还请自行安装,本次用到的是2.6或者2.7版本:
- 安装多个依赖包:
yum -y install chkconfig bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
- 创建目录:
mkdir /opt/cloudera-manager
- 把前面准备好的文件cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz上传到master,执行以下命令将该文件解压到/opt/cloudera-manager目录:
tar -zxvf cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz -C /opt/cloudera-manager/
- 创建账号cloudera-scm:
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
- 编辑文件config.ini:
vi /opt/cloudera-manager/cm-5.7.2/etc/cloudera-scm-agent/config.ini
- 修改server_host的值,改为master,如下图红框所示:
- 新建目录 /usr/share/java/,将刚才下载的mysql-connector-java-5.1.34.jar放入该目录,并改名为mysql-connector-java.jar
三台电脑相互免密码登录设置
- 三台电脑的/etc/hosts文件,都增加以下相同内容:
192.168.133.154 master192.168.133.155 worker1192.168.133.156 worker2
- 三台电脑都执行命令:ssh-keygen 然后四个回车完成ssh公私钥创建;
- 在master执行ssh-copy-id root@worker1、ssh-copy-id root@worker2
- 在worker1执行ssh-copy-id root@master、ssh-copy-id root@worker2
- 在worker2执行ssh-copy-id root@master、ssh-copy-id root@worker1
至此,准备工作全部完成,请确保所有机器都做了上述操作,下一篇会用这些机器来完成部署。
欢迎关注公众号:程序员欣宸
微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月10日 09时27分04秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
《带你装B,带你飞》pytest成魔之路4 - fixture 之大解剖
2021-05-09
互联网App应用程序测试流程及测试总结
2021-05-09
根据轨迹分析出用户家在哪
2021-05-09
PostgreSQL查询表名称及表结构
2021-05-09
是什么?评估分类器的常用概念----准确率,精确率,召回率
2021-05-09
linux中使用awk命令
2021-05-09
LAB2 内核的内存管理
2021-05-09
如何使用google搜索?
2021-05-09
Redis分布式锁的正确实现方式
2021-05-09
设计模式-抽象工厂模式
2021-05-09
MySQL Explain查看执行计划详解
2021-05-09
IntelliJ IDEA 中,项目文件右键菜单没有svn选项解决办法
2021-05-09
Spring 动态绑定多实现类实例综述
2021-05-09
IDEA 调试Java代码的两个技巧
2021-05-09
MyBatis常见面试题:#{}和${}的区别是什么?
2021-05-09
Vue 数组和对象更新,但视图未更新,背后的故事
2021-05-09
剑指Offer面试题:9.二进制中1的个数
2021-05-09
《你是在做牛做马还是在做主管》- 读书笔记
2021-05-09
ASP.NET Core on K8S学习之旅(12)Ingress
2021-05-09