如何Redhat7的CDH集群中扩容增加Redhat6的节点

时间:2022-06-05
本文章向大家介绍如何Redhat7的CDH集群中扩容增加Redhat6的节点,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

Fayson的github: https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1.文档编写目的

前面Fayson有很多篇文章介绍CDH各个版本的安装部署,在安装部署的前置条件中说明需要在统一的操作系统版本进行部署。部分用户早期在RedHat7以下版本部署CDH集群,在后续集群扩容时使用了RedHat7版本的操作系统,对于这种跨操作系统安装部署或扩容CDH集群如何解决?本篇文章Fayson主要介绍如何跨操作系统扩容CDH集群。

  • 文章概述

1.集群环境描述

2.扩容节点前置准备

3.跨操作系统扩容

  • 测试环境

1.CM和CDH5.15.0

2.现有集群操作系统RedHat7.4

3.扩容节点操作系统RedHat6.5

2.集群部署环境描述

集群除了部署CDH的基础组件外还部署了Spark2、CDSW服务,如下:

集群现有环境描述

IP

HOSTNAME

操作系统

功能

172.31.6.83

ip-172-31-6-83

RedHat7.4

Cloudera Manager

172.31.12.142

ip-172-31-12-142

RedHat7.4

DataNode

172.31.9.113

ip-172-31-9-113

RedHat7.4

DataNode

172.31.4.105

ip-172-31-4-105

RedHat7.4

DataNode

172.31.14.51

cdsw.fayson.com

RedHat7.4

CDSW

待加入集群节点

IP

HOSTNAME

操作系统

功能

172.31.11.138

ip-172-31-11-138

RedHat6.5

DataNode

3.扩容节点前置准备

前面Fayson有文章介绍CDH集群安装部署的前置条件《CDH安装前置准备》,下面的步骤Fayson简单的说明前置准备。

1.在/etc/hosts文件中添加扩容节点的配置,将配置文件分发至集群所有节点包含待扩容节点

2.验证SELinux是否禁用

3.验证防火墙是否关闭

[root@ip-172-31-11-138 ~]# service iptables status

(可左右滑动)

4.验证时钟同步是否正常

[root@ip-172-31-11-138 ~]# ntpq -p

(可左右滑动)

5.检查swap设置

[root@ip-172-31-11-138 ~]# sysctl -p

(可左右滑动)

6.检查透明大页面

在所有节点执行如下命令,禁用透明大页面

echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled

(可左右滑动)

在/etc/rc.local文件中增加如下配置:

if test -f /sys/kernel/mm/redhat_transparent_hugepage/enabled; then
    echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/redhat_transparent_hugepage/defrag; then
    echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
fi

(可左右滑动)

注意 :RedHat6和RedHat7目录有些区别。

除了上面提到的配置当然还有其他的配置,如:

  • 集群启用了Kerberos则需要在新扩容就节点安装Kerberos客户端并将krb5.conf文件拷贝至新节点
  • 集群安装了OpenLDAP则需要配置OPenLDAP客户端及SSSD服务
  • 集群使用了新的JDK或Python环境,则需要将JDK和Python拷贝至待扩容节点
  • 配置待扩容节点的本地yum源,这里Fayson使用的云环境不需要进行配置

4.CM RedHat6的Yum源部署

新扩容的节点是RedHat6版本,集群之前环境是RedHat7使用的Cloudera Manager安装包是RedHat7环境下的。使用RedHat7的安装包在RedHat6上安装会出现版本兼容问题,这里我们同时需要准备RedHat6版本的Cloudera Manager安装包。

1.下载RedHat6版本的Cloudera Manager安装包到/var/www/html/cm5.15-el6目录下

2.在当前目录下执行命令

[root@ip-172-31-6-83 cm5.15-el6]# createrepo .
[root@ip-172-31-6-83 cm5.15-el6]# ll

(可左右滑动)

3.浏览器访问验证是否部署成功

5.CDH、Spark2和CDSW RedHat6 Parcel部署

集群之前环境是RedHat7使用CDH的Parcel包是RedHat7环境下的,新扩容的节点是RedHat6版本,同时需要准备RedHat6版本CDH的Parcel安装包。

在集群中同时也安装了Spark2和CDSW服务,在扩容节点时需要分发Spark2和CDSW的Parcel包到新节点,这里我们也需要同时部署RedHat环境下Spark2和CDSW的Parcel包。

1.下载RedHat6版本CDH5.15.0的Parcel包至/var/www/html/cdh5.15-el6目录下

2.下载RedHat6版本Spark2.3.0的Parcel包至/var/www/html/spark2.3.0-el6目录下

3.下载RedHat6版本CDSW的Parcel包至/var/www/html/cdsw1.4-el6目录下

4.验证Parcel是否部署成功

6.跨操作系统扩容节点

1.在集群扩容前确保CDH、CDSW和Spark2的Parcel已分发至集群所有节点

这一步是确保RedHat7环境下集群所有节点的Parcel包均分发成功并且已成功激活。

2.修改CDH、Spark2和CDSW的Parcel库地址为上面部署的RedHat6的地址

注意:这里配置RedHat的Parcel地址前提是RedHat7的所有节点Parcel已分发激活。

3.接下来我们使用Cloudera Manager向导向CDH集群中添加操作系统为RedHat6的节点

4.点击“继续”,输入CM的yum地址

注意:这里使用RedHat6版本的库地址,因为我们新加节点操作系统为RedHat6。

5.点击“继续”,安装JDK

6.点击“继续”,输入SSH登录用户及秘钥

7.点击“继续”,向新加节点安装Agent服务

Agent服务安装成功

8.点击“继续”,向新加节点安装Parcel

分发完成

9.点击“继续”,进行主机检查

提示:系统之间存在不匹配的版本问题。

10.点击“继续”,选择默认

11.点击“继续”

12.点击“完成”,完成新节点的添加

13.创建一个datanode模板

14.在主机列表选择新加入的节点,应用datanode模板

启动主机上的角色就完成了跨操作系统添加节点

7.总结

1.在跨操作系统新增节点或安装部署CDH集群时,需要同时准备两个操作系统版本的安装包(包括:CM的RPM、CDH的Parcel以及Spark、CDSW等Parcel)根据自己当前集群安装的服务进行部署。

2.在跨操作系统添加新节点时,首先我们需要将涉及到的安装包均部署好,在RedHat7节点的所有Parcel包分发激活完成后,再将Parcel库地址修改为RedHat6的库地址,通过新增节点的方式将操作系统为RedHat6的节点添加到集群。

3.在安装部署跨操作系统的集群时,操作方式也是一样,先将属于同一操作系统的节点安装部署完成参考Fayson前面的文章《如何在Redhat7.4安装CDH5.15》,然后修改Parcel库地址将不同操作系统节点通过新加节点的方式加入集群。

4.在新增节点时,指定Cloudera Manager的库地址时,根据我们新增节点的OS版本选择不同的Yum源。

5.注意在Fayson的示例中存在一个问题,Redhat7上的KDC服务导出的keytab文件在RedHat6上使用会报“kinit: Bad encryption type while getting initial credentials”,在后面的文章Fayson主要介绍如何解决。

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。