美文网首页大数据
CDH集群间的数据迁移方案

CDH集群间的数据迁移方案

作者: 勤奋的超跑 | 来源:发表于2019-11-14 14:20 被阅读0次

       目前不同公司多多少少存在Hive数据库在不同集群间的数据迁移需求,我们只要在CDH新版本集群搭建完成之后,即可进行数据迁移工作,如下描述hive及HDFS数据的迁移。

一、源集群hive表结构的备份

写备份hive数据表ddl脚本如下,在源集群主节点服务器上执行。可自行放在/home/dw目录下:

!/bin/sh

for hive_database in "sjczq_db" "sjjsq_db"

do

sudo -u hive hive -e "use ${hive_database};

         show tables;" > ${hive_database}_tables.txt

rm -f ${hive_database}_tablesDDL.txt

cat ${hive_database}_tables.txt |while read eachline

do

sudo -u hive hive -e "use ${hive_database};

         show create table $eachline;" >>${hive_database}_tablesDDL.txt

         echo ';' >> ${hive_database}_tablesDDL.txt

dones

cone

将导出相应的hive的DDL语句,修改一下对应的path和location为新集群的主节点名称。

如下图所示:

将调整后的DDL语句在新集群环境执行。

由于hive数据库是逐个迁移的,请事先创建好hive数据库;

二、新老集群hive&HDFS数据文件迁移

distcp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具

distcp最常用在集群之间的拷贝:

sudo -u hive hadoop distcp hdfs://192.168.201.83:8020/user/hive/warehouse/sjczq_db.db/* hdfs://192.168.220.63:8020/user/hive/warehouse/sjczq_db.db

注意: (1) distcp使用绝对路径进行操作;

            (2) 该命令需要在目标集群上执行;

            (3) 为了保持hive数据文件权限问题,请使用sudo -u hive用户执行;

            (4) -overwrite参数谨慎使用,可不指定操作类型,采用默认即可,若目标文件存在,存在跳过,否则进行同步复制;

这条命令会把集群的/user/hive/warehouse/sjczq_db.db目录下的所有文件或目录名展开并存储到一个临时文件中,这些文件内容的拷贝工作被分配给多个map任务, 然后每个TaskTracker分别执行从83到63的拷贝操作。

若命令中断,可再次执行,不影响之前迁移同步数据表。

三、迁移后数据验证

针对迁移同步后的数据表直接查询,查看数据量及数据字段值是否一致;

1、全量表数据,直接同步即可,数据验证没有问题

2、分区数据表,查询发现数据为空,但是HDFS文件数据已迁移同步

此时需要使用msck repair table new_table;修复新表的分区元数据

修复后分区表正常。

至此hive数据库迁移完成。

相关文章

  • CDH集群间的数据迁移方案

    目前不同公司多多少少存在Hive数据库在不同集群间的数据迁移需求,我们只要在CDH新版本集群搭建完成之后,即可进...

  • Hadoop集群间数据迁移

    数据迁移 1、问题描述 新搭建了一套CDH5.13.1集群,需要将原apache上的数据迁移至新集群。 2、数据迁...

  • Zeppelin 迁移 - Jar 包冲突解决与思考

    最近整个公司大数据集群迁移(cdh -> ambri hdp),随之 Zeppelin 也需要迁移,由于各个组件版...

  • HBase跨集群迁移调研方案

    HBase跨集群迁移调研方案回顾 迁移目的 HBase跨集群平滑迁移 方案 方案一 方案二 操作命令 snapsh...

  • zk集群数据迁移和恢复

    zk集群数据迁移和恢复 一、zk数据迁移,有如下两种方案: 1、利用zk集群超过半数仍然可用的特性,比如集群中有5...

  • HBase集群平滑迁移步骤

    HBase集群平滑迁移步骤 测试环境 CDH版本HBASE版本测试源集群5.15.11.2.0测试目标集群6.2....

  • hdfs文件迁移

    hadoop跨集群之间迁移HDFS数据 不同hadoop集群之间迁移hive数据 hadoop跨集群之间迁移hiv...

  • 一篇文章教你自建hadoop集群迁移到EMR

    自建集群要迁移到EMR集群,往往需要迁移已有数据。本文主要介绍hdfs数据和hive meta数据如何迁移。 前置...

  • hbase集群同步

    由于当前阶段需要对生产集群(cdh5.14,)的hbase数据进行灾备(备份集群cdh6.1),开始调研hbase...

  • HDFS搞事情系列(一):跨集群数据迁移

    需求 老集群中的HDFS数据迁移至新集群。 迁移之前需要考虑的事情 1、迁移总数据量有多少?2、新老集群之间的带宽...

网友评论

    本文标题:CDH集群间的数据迁移方案

    本文链接:https://www.haomeiwen.com/subject/oydrictx.html