规划与规范
确定版本
服务器版本:Centos7
CDH版本:CDH 6.1.1
JDK版本:openjdk1.8
docker engine:19.0.3
Database:mysql 5.7
统一用户密码或设置免密登录
CDH安装过程中需要用到root用户权限,一般使用root用户进行安装。如果必须使用非root用户,请参考官网配置。
如果使用root用户,则统一密码。
如果使用免密登录,则配置免密登录(Centos7配置略)。
密码规范:(略)
集群规划
1台本地仓库repo服务器,带httpd服务。
1台mysql服务器,用作CDH元数据库。
1台cm管理服务器。
6台host节点服务器。
规划网络(内外通讯模式和矩阵)
设置内部局域网,subnet为172.19.0.0/16,gateway为172.19.1.1,只有一个对外堡垒机即CM服务器(配置docker端口映射7180、22两个端口),其他服务器均为局域网内服务器。
网络拓扑图如下:
(略)
规范主机名网络名
主机名规范:假设XX表示cdh集群编号,YY表示服务编号,两者均为从01开始的正整数,则,
cm服务器主机名规范为:cdhXXcmYY
host服务器主机名规范为:cdhXXhostYY
matedatadb主机名规范为:cdhXXmatedbYY
本地仓库repo的主机名为固定为 repo
网络名固定为 e-marker.com
最后的hosts映射关系为:
cdh01cm01.e-marker.com:172.19.0.4 cdh01host01.e-marker.com:172.19.0.5 cdh01host02.e-marker.com:172.19.0.6 cdh01host03.e-marker.com:172.19.0.7 cdh01host04.e-marker.com:172.19.0.8 cdh01host05.e-marker.com:172.19.0.9 cdh01host06.e-marker.com:172.19.0.10 repo.e-marker.com:172.19.0.2 cdh01matedb01.e-marker.com:172.19.0.3 |
规划挂载卷
1、mysql配置目录:
2、mysql数据目录:
3、HDFS的数据目录:
4、CDH的配置目录:
创建基础镜像
下载centos镜像
docker pull centos:7
必备安装与设置
由于docker版的centos7极度精简,只有220m,很多软件需要自己安装。
#repo服务器创建docker镜像,安装:httpd(设置自启动)。
#cm和host服务器创建docker镜像,
1)安装:openssh-clients、openssh-server(配置SSH登录)、java-1.8.0-openjdk-devel、mysql-connector-java、ntpd(设置自启动)。
2)repo
vi /etc/yum.repos.d/cloudera-repo.repo
[cloudera-repo]
name=cloudera-repo
baseurl=http://repo.e-marker.com/cloudera-repos/cm6/
enabled=1
gpgcheck=0
注意:其中baseurl是!!!!!!!!!!!!!!!!
3)设置root用户密码。
4)Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10,建议设置为1。
修改swappiness参数有临时修改和永久修改两种方法:
----临时修改:
# sysctl vm.swappiness=1
vm.swappiness = 1
----永久修改:
vi /etc/sysctl.conf,添加如下参数:
vm.swappiness=1
或者:
# echo 'vm.swappiness=1'>> /etc/sysctl.conf
保存,重启生效。
#ssh免登录设置
见前面的文章:ssh配置免密登录手动版和脚本版
https://segmentfault.com/a/1190000019919600?share_user=1030000019541827
#禁用防火墙(如果安装了防火墙)
CentOS7防火墙命令
firewall-cmd --state 查看防火墙
systemctl stop firewalld.service 关闭防火墙
systemctl disable firewalld.service 永久关闭防火墙
注释:docker版centos7不需要。
#禁用SElinux
1)检查SElinux 状态
getenforce
2) 如果输出是 Permissive 或者 Disabled, 则不用配置SElinux,如果输出是enforcing 执行下面步骤设置SElinux
setenforce 0 (临时生效)
修改 /etc/selinux/config 下的 SELINUX=disabled 或者 permissive(重启后永久生效)
注释:docker版centos7不需要。
#使能NTP服务并同步
Enable an NTP Service | 6.1.x | Cloudera Documentation
注释:docker版centos7没有chronyd,手动安装ntpd服务。
#安装Python 2.7
CDH 6 需要 Python 2.7,RHEL 7系统包含Python 2.7,因此不要安装。查看pyhton 版本
python -V
注释:docker版centos7不需要。
%容器导出镜像%
配置Cloudera Manager 使用Parcel repo
- 两种方法二选一,配置parcel
- Navigation bar - 导航条
- 点击navigation bar 的parcel图标或者点击
Hosts
然后点击Parcels
标签 - 点击
Configuration
按钮 - Menu - 菜单
- 选择
Administration
(管理) ->Settings
(设置) - 选择
Category
>Parcels
- 在
Remote Pacel Respository URLs
点击添加按钮,并添加。 - 填上parcel地址,比如
http://<web_server>/cloudera-parcels/cdh6/6.2.0/
- 填写
Reason for change
变更原因,点击Save Changes
提交保存。
做好集群规划
CM使用两台、hdfs至少3台,kafka至少3台。
配置一台软件仓库服务器,仅仅在安装和升级的时候使用一次即可。固定hostname=bd000.mybd.com
使用本地包仓库部署安装
安装教程参考: