CDH6集群完全离线安装
1、文件下载
CM6 rpm
下载该链接中的所有rpm文件。其中,jdk我是从oracel官网下载的,我下载的是JDK 8U181
ASC文件
CDH6 Parcels
需要下载CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel和manifest.json这两个文件
MySQL-5.7.29
MySQL JDBC驱动
要求使用5.1.26以上版本的jdbc驱动,我选择的是mysql-connector-java-8.0.18.tar.gz
本地yum源
由于是内网,无法连接互联网,所以在安装cdh相关服务(cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server)以及其他服务时候,无法联网下载相关依赖。所以在所有主机上搭建本地yum源。
PS:由于没有空余电脑,就没有搭建局域网yum源,最好是搭建局域网yum源,避免在所有主机上搭建本地yum源,减少重复操作。、
我是用的yum源是:CentOS-7-x86_64-Everything-1908.iso,可以前往官网下载与本地主机系统相同版本centos镜像。官网:Index of /(选择everything版本,包含的软件比较全)。
2.、安装之前
2.1、网络相关设置 -- 所有主机
-
设置固定IP,并禁用IPv6,因为CDH不支持IPv6
# vi /etc/sysconfig/network-scripts/ifcfg-enp4s0 (其中ifcfg-enp4s0每台主机都不同)
-
配置集群中每台主机(节点)的网络名称
# hostnamectl set-hostname new-hostName
-
在/etc/hosts文件中配置相关主机的ip、域名以及域名简写(可选)
-
配置/etc/sysconfig/network
HOSTNAME=cdhmaster
-
测试各主机之间能够互通
-
验证配置
uname -a 需要和 hostname 得到一致的域名
2.2、禁用防火墙 -- 所有主机
-
停止防火墙
# systemctl stop firewalld
-
关闭防火墙开机自启
# systemctl disable firewalld
2.3、设置SELinux模式 -- 所有主机
-
查看SELinux状态
# getenforce
如果输出是permissive或者disabled,则跳过此步骤;
如果输出是enforcing,继续如下步骤
-
编辑/etc / selinux / config文件(有些是/etc/sysconfig/selinux文件),将SELINUX=enforcing修改为SELINUX=disabled或者SELINUX=permissive
-
重启生效或者执行setenforce 0命令立即生效
-
CDH安装完可重新启SELinux,修改/etc / selinux / config文件,并执行setenforce 1命令
2.4、设置每台主机的本地源
互联网上有很多yum的镜像源,比如阿里、网易等,但是由于公司内网限制,不能连接互联网,导致在centos安装软件很麻烦(依赖包等问题),所以最好搭建局域网yum源或者本地yum源。
这里由于没有空闲主机,所以采用每台主机都搭建本地yum源的方案。
参考:CentOS7.2配置本地yum源 - 落泪秋 - 博客园
-
将事先下载好的Centos7的everything版的iso包,上传至各个主机上。
我上传到了 /home/iso目录下 (目录可自定义)
-
挂载镜像文件
# cd /home/iso # mount -o loop CentOS-7-x86_64-Everything-1908.iso /home/iso/
备份原yum源的配置文件
# mv /etc/yum.repos.d /etc/yum.repos.d.bak
创建本地yum源的配置文件
# mkdir /etc/yum.repos.d # vi /etc/yum.repos.d/CentOS-local.repo
在该文件中添加以下内容
#本源的名字(不能和其他重复) [base-local] name=CentOS7.2-local #步骤2中挂载镜像创建的目录 baseurl=file:///home/iso #启动yum源: 1-启用 0-不启用 enabled=1 #安全检测: 1