前言
-
大数据集群管理方式分为手工方式(Apache hadoop)和工具方式(Ambari + hdp 和Cloudera Manger + CDH)。手工部署,需配置太多参数,但是,好理解其原理,建议初学这样做,能学到很多。该方式啊,均得由用户执行,细节太多,切当设计多个组件时,用户须自己解决组件间版本兼容问题;工具部署,比如Ambari或Cloudera Manger。(当前两大最主流的集群管理工具,前者是Hortonworks公司,后者是Cloudera公司)使用工具来,可以说是一键操作,难点都在工具Ambari或Cloudera Manager本身部署上。
-
本章节主要记录总结下在离线部署CDH6.3.1集群过程中的细节、踩坑和收获。
-
CDH6的部署方式与CDH5区别比较大,CDH5.16.1的部署将在另一篇中记录总结。更新:CDH5.16.2部署
-
CDH的免费版和企业版都可以商用,区别在于集群规模的限制、组件以及集群的运维。对于50个节点以下的集群,完全可以使用免费版,核心组件够用。由于CDH从6.3.3开始取消免费版。更新:CDH再无免费版,包括所有旧版本,要么使用完全内网环境,要么自己手搭吧。
-
下面就正式开始部署了!
部署前准备
CDH离线部署主要分为三个部分:
- 集群环境准备
- Cloudera Manager 主从架构 server+多个agent 离线部署服务
- Parcel文件安装CDH,完成集群部署
一、集群环境准备
1.网络配置(all)
#修改主机名
vi /etc/sysconfig/network
修改或者添加HOSTNAME= yourhostname
hostname yourhostname
hostnamectl set-hostname yourhostname
vi /etc/hosts
#在所有节点上把IP和主机名的对应关系写入
192.168.44.10 cdh001
192.168.44.11 cdh002
192.168.44.12 cdh003
...
- 这里需要将每台机器的ip及主机名对应关系都写进去,本机的也要写进去,否则启动Agent的时候会提示hostname解析错误。
2.关闭防火墙和SELinux(all)
systemctl stop firewalld
systemctl disable firewalld
iptables -F
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
设置后需要重启才能⽣效
3. master对slave的免密登录(可跳过)
- master上生产一对钥匙(公钥和私钥)
ssh-keygen -t rsa #一路回车
- 将密钥拷贝到slave上
ssh-copy-id node01
ssh-copy-id node02
...
4.设置时区
集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。 具体思路如下:
master节点作为ntp服务器与外界对时中心同步时间,随后对所有slave节点提供时间同步服务。
# 所有节点
yum install -y ntpd
- master节点配置