首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

0480-如何从HDP原地迁移到CDH5.16.1

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

Fayson的github:

https://github.com/fayson/cdhproject

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

1

文档编写目的

我们常使用的Hadoop平台包括Apache Hadoop,CDH和HDP,有时我们会碰到需要迁移平台的情况,举个例子,比如你已经一直在使用Apache Hadoop2.4,近期看到CDH6附带Hadoop3发布了,想迁移到CDH并且做整个平台的所有组件升级。平台迁移和平台升级的方式基本一样的,一般有2种大的选择,第一种是原地升级即直接在原有平台上操作,该办法操作效率较高,马上看到效果,但往往风险较高,比如升级失败回滚方案不完善,跨大版本比如Hadoop2到Hadoop3可能HDFS还有丢数据的风险;第二种是拷贝数据的方式升级,需要额外的服务器资源,会新搭平台,然后把旧的平台的数据拷贝过去,数据拷贝完毕后,再把旧集群的机器下线了慢慢加入到新集群,该方法一般实施周期较长,但是风险较小。根据实际情况可以选择不同的方式来进行平台迁移或者平升级,另外对于两种方案还可以具体细化分类出不同的方案,比如第一种方案考虑提前备份数据或者备份关键数据等,本文Fayson不做细化讨论。

本文Fayson主要介绍如何从HDP2.6.5原地升级到CDH5.16.1,迁移方式是直接在HDP已有的集群进行操作主要步骤包括卸载原有的HDP然后安装新的CDH,最后需保证HDFS数据,HBase数据,Hive数据都在并且能正常访问。迁移步骤如下图所示:

注意第一步禁用HDP的HDFS HA,Fayson在上一篇文章中已经做了介绍,本文将省略。具体参考《

0479-如何禁用HDP2.6.5的HDFS HA

》。

内容概述

1.测试环境说明

2.保存相关元数据

3.停止HDP和Ambari服务

4.卸载Ambari和HDP

5.安装Cloudera Manager

6.安装CDH

7.其他问题

测试环境

1.HDP2.6.5

2.Ambari2.6.2.2

3.CDH5.16.1

4.Redhat7.4

5.集群未启用Kerberos

6.采用root用户操作

2

测试环境说明

1.首先Fayson已经预先在4台机器预先安装好了HDP,安装了一些常见服务,HDFS的HA已经取消,并且在HDFS,Hive表和HBase中都导入了数据。

2.集群主要角色划分如下,因为平台迁移主要跟Ambari,HDFS,HBase,Hive服务相关,所以其他角色不做介绍。

3.记录HDFS的使用情况

4.记录HBase使用情况

该表的条数是:

632212条

5.记录Hive使用情况

3个database,40个表

随便选择一张表查看并记录条数

50000条

6.比较HDP2.6.5和CDH5.16.1的组件版本,因为本次迁移主要是保证HDFS,Hive和HBase的数据不丢,其他的组件比如Spark,Zookeeper等比较意义不大,重新安装CDH后能正常使用即可。

7.记录一些关键目录

NameNode元数据目录:

/hadoop/hdfs/namenode

DataNode目录:

/hadoop/hdfs/data

Secondary NameNode检查点目录:

/hadoop/hdfs/namesecondary

HBase的HDFS目录:

/apps/hbase/data

Zookeeper目录:

/hadoop/zookeeper

3

禁用HDP的HDFS HA

此处省略,具体参考《0479-如何禁用HDP2.6.5的HDFS HA》。

4

保存相关元数据

1.使用Ambari停止HBase服务

2.保存HDFS元数据,在NameNode节点执行以下命令

3.保存NameNode节点上的元数据文件

4.保存Secondary NameNode节点上的数据

5.备份Hive元数据

5

停止HDP和Ambari服务

1.停止Hadoop所有服务

2.停止Ambari Server服务和所有机器的Ambari agent服务

6

卸载Ambari和HDP

1.在所有节点移除Ambari相关的包

2.移除HDP其他组件

3.删除所有节点的log目录

4.删除所有节点的配置文件

5.删除所有节点上的pid

6.删除所有节点上的库文件夹

7.删除所有节点上的符号链接

8.重启所有节点,略。

7

安装Cloudera Manager

安装过程略,参考Fayson之前的文章《0470-如何在Redhat7.4安装CDH5.16.1》。安装成功后直接登录Cloudera Manager。

8

安装CDH

前面步骤略过,直接到主机检查。如何安装CDH依旧可以参考Fayson之前的文章《0470-如何在Redhat7.4安装CDH5.16.1》。

1.主机检查发现用户丢失自己的group告警

拷贝以下内容替换所有节点的/etc/group中的用户组,记得不动系统用户组以及普通用户组。

拷贝以下内容替换所有节点的/etc/passwd中的用户组,记得不动系统用户以及普通用户。

同步/etc/passwd和/etc/group到所有节点

再次点击主机检查

2.选择需要安装的服务,含HBase内核即可

3.选择各个组件的相关角色的节点时请务必注意:

NameNode/HMaster与原HDP集群时一致:ip-172-31-4-109.ap-southeast-1.compute.internal

DataNode/RegionServer与原HDP集群时一致:ip-172-31-12-114.ap-southeast-1.compute.internal,ip-172-31-13-13.ap-southeast-1.compute.internal,ip-172-31-1-163.ap-southeast-1.compute.internal

SecondaryNameNode与原HDP集群时一致:ip-172-31-12-114.ap-southeast-1.compute.internal

4.数据库设置,Hive的元数据库依旧是直接连的之前HDP集群中的那个database

5.集群的关键参数配置,注意这里需要修改对应到之前HDP集群时的配置:

hbase.rootdir为/apps/hbase/data

dfs.datanode.data.dir为/hadoop/hdfs/data

dfs.namenode.name.dir为/hadoop/hdfs/namenode

dfs.namenode.checkpoint.dir为/hadoop/hdfs/namesecondary

6.HDFS服务启动失败,符合预期。

7.点击左上角Cloudera logo直接回到主页。

8.进入HDFS服务,点击配置,选择“升级HDFS元数据”

点击“升级HDFS元数据”

9.升级失败,查看角色具体日志如下

10.我们对比查看HDP之前NameNode上的元数据layoutVersion,如下所示

这里Fayson是有另外2个集群环境才能统一来查看HDFS的layoutVersion,发现HDP2.6.5的版本号比CDH5.16.1的要高,这样导致并没办法迁移到CDH5.16.1,因为HDFS的元数据支持升级,但是却没办法降级的。

基于这个限制,Fayson会直接将该集群升级到C6,后面一篇文章再介绍。

9

其他问题

因为Fayson在本文第7章处理了用户和用户组,主要删除了旧的用户组和用户,导致在做HDFS元数据升级时报错如下

主要是因为元数据目录的用户和属组出现了问题如下所示:

手动修改文件的用户和属组

本文HDP卸载参考:

https://community.hortonworks.com/articles/97489/completely-uninstall-hdp-and-ambari.html

HDFS升级与降级参考:

https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsRollingUpgrade.html

注意降级或者回滚只能发生在升级完成之前,降级或回滚HDFS版本一旦在最终化元数据升级成功后就不能执行,参考:

Note also that downgrade and rollback are possible only after a rolling upgrade isstarted and before the upgrade is terminated. An upgrade can be terminated byeither finalize, downgrade or rollback. Therefore, it may not be possible toperform rollback after finalize or downgrade, or to perform downgrade after finalize.

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

为天地立心,为生民立命,为往圣继绝学,为万世开太平。

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181213B128M400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券