【FusionInsight 迁移】HBase从C50迁移到6.5.1(01)迁移概述

【FusionInsight 迁移】HBase从C50迁移到6.5.1(01)迁移概述

  • HBase从C50迁移到6.5.1(01)迁移概述
    • 迁移范围
    • 迁移前的准备
      • HDFS文件检查
      • 确认HBase迁移目录
      • 确保数据落盘
      • 停止老集群HBase服务
      • 停止新集群HBase服务

HBase从C50迁移到6.5.1(01)迁移概述

项目上最近全新部署了FusionInsight HD 6.5.1大数据集群,并且希望将老集群FusinInsight HD C50的所有业务都迁移到新集群上。由于在老集群C50上的HDFS、HBase中存在有大量的业务数据,因此将业务从C50迁移到6.5.1的过程中,就需要将C50上的业务数据同步迁移到新集群6.5.1上。

迁移范围

  • 迁移方向
    • 从老集群FusinInsight HD C50迁移数据到新集群FusionInsight HD 6.5.1。
  • 迁移场景
    • 生产实施,HDFS、HBase数据迁移。
  • 迁移方式
    • 离线迁移
  • 影响范围
    • 离线数据迁移,需要完成所有存量数据的迁移,迁移完成后做数据验证及业务切换。

迁移前的准备

在做数据迁移前需要做一些必要的准备工作。

使用admin用户登录到需要迁移数据的老集群FusinInsight C50的Manager。

登录成功后进入到Manager的主界面。

HDFS文件检查

在HDFS服务的status界面查看是否有missing block。

如果存在missing block,则需要登录集群客户端,执行命令:

hdfs fsck /

查看并分析具体的原因。

确认HBase迁移目录

迁移前还需要确认需要迁移的具体目录,可以通过HDFS Web UI进行查看。

以及:

各个目录的说明如下:

路径说明
/hbase/.tmp当对表做创建或者删除操作的时候,会将表move到该tmp目录下,然后再去做处理操作。
/hbase/WALs被HLog实例管理的WAL文件。
对于每个HregionServer,日志目录中都包含一个对应的子目录
在每个子目录下有多个HLog文件(因为日志滚动)。
/hbase/archive存储表的归档和快照,HBase在做Split或者compact操作完成之后,会将HFile移到archive目录中,然后将之前的HFile删除掉,该目录由HMaster上的一个定时任务定期去清理。存储表的归档和快照具体目录:/hbase/archive/data/default/表名/region名/列族名/fd2221d8d1ae4e579c21882f0ec4c5a5
/hbase/corrupt损坏的日志文件,一般为空。
/hbase/dataHBase存储数据的核心目录。
/hbase/data/default该目录存储所有用户数据表/hbase/data/default/表名。
/hbase/data/hbase该目录存储了存储了HBase的namespace、meta和acl三个系统级表。
- /hbase/data/hbase/namespace
namespace中存储了HBase中的所有namespace信息,包括预置的hbase和default。
- /hbase/data/hbase/meta
meta表存储了所有Region信息的列表
- /hbase/data/hbase/acl
acl则是表的用户权限控制
/hbase/hbase.id集群的唯一ID。
/hbase/hbase.version集群的文件格式版本信息。
/hbase/oldWALs当/hbase/WALs中的HLog文件被持久化到存储文件中,不再需要日志文件时,它们会被移动到/hbase/oldWALs目录。

由于迁移过程只需要迁移HBase的数据,因此只需要迁移/hbase/data目录即可。

确保数据落盘

在数据迁移前,需要确保老集群FusinInsight HD C50上的HBase的所有表的数据已全部落入磁盘。

可以通过客户端,进入hbase shell客户端,对HBase的所有表都进行flush操作:

flush tablename

或者通过hdfs命令检查/hbase/WALs目录为空,或者大小为0:

hdfs dfs -du -h /hbase

停止老集群HBase服务

在迁移过程中,为了保证数据的完整性、一致性,防止因增量数据的产生而导致HDFS目录结构的变化,需要确保老集群FusinInsight HD C50上的HBase服务处于停止状态,因此,迁移时间点应该选在无业务数据产生的时间段。

停止新集群HBase服务

因为数据迁移会覆盖新集群FusinInsight HD 6.5.1上的HBase的数据,因此需要确保新集群的HBase的所有数据可删除、可覆盖,并且同样需要停止HBase服务。

使用admin用户登录到新集群FusinInsight HD 6.5.1的Manager,并在HBase服务界面,点击停止按钮停止HBase服务。

HBase服务停止后,点击完成按钮。

如果新集群中的HBase已经有数据,或者数据比较重要,也可以备份一下原有数据。

hdfs dfs -cp /hbase /hbase_bak
hdfs dfs -ls /hbase

备份完成后的文件如下:

至此,迁移前的准备工作就完成了,接下来就可以实施迁移工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/101737.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

报错解决:RuntimeError: expected scalar type Long but found Float

文章目录 报错信息原因代码示例错误版改正 报错信息 RuntimeError: expected scalar type Long but found Float原因 nn.Linear需要作用于浮点数,这里可能输入了整数类型的张量作为参数。 代码示例 错误版 import torch import torch.nn as nn a torch.tensor…

chrome 谷歌浏览器 导出插件拓展和导入插件拓展

给同事部署 微软 RPA时,需要用到对应的chrome浏览器插件;谷歌浏览器没有外网是不能直接下载拓展弄了半小时后才弄好,竟发现没有现成的教程,遂补充; 如何打包导出 谷歌浏览器 地址栏敲 chrome://extensions/在对应的地…

基于Matlab利用IRM和RRTstar实现无人机路径规划(附上源码+数据+说明+报告+PPT)

无人机路径规划是无人机应用领域中的关键问题之一。本文提出了一种基于IRM(Informed RRTstar Method)和RRTstar(Rapidly-exploring Random Tree star)算法的无人机路径规划方法,并使用Matlab进行实现。该方法通过结合I…

如何应用运营商大数据精准营销?

如何应用运营商大数据精准营销? 越来越多的企业逐渐觉察到运营商大数据所带来的商业价值,精准营销也被他们用的越来越娴熟。那么,企业的大数据精准营销该如何应用呢?想必是很多资源有限的中小型公司最想了解的。 一 数据驱动运营…

逻辑回归Logistic

回归 概念 假设现在有一些数据点,我们用一条直线对这些点进行拟合(这条直线称为最佳拟合直线),这个拟合的过程就叫做回归。进而可以得到对这些点的拟合直线方程。 最后结果用sigmoid函数输出 因此,为了实现 Logisti…

每日刷题-2

目录 一、选择题 二、编程题 1、倒置字符串 2、排序子序列 3、字符串中找出连续最长的数字串 4、数组中出现次数超过一半的数字 一、选择题 1、 题目解析: 二维数组初始化的一般形式是: 数据类型 数组名[常量表达式1][常量表达式2] {初始化数据}; 其…

spring---第一篇

系列文章目录 文章目录 系列文章目录一、如何实现一个IOC容器二、spring是什么?一、如何实现一个IOC容器 1、配置文件配置包扫描路径 2、递归包扫描获取.class文件 3、反射、确定需要交给IOC管理的类 4、对需要注入的类进行依赖注入 配置文件中指定需要扫描的包路径 定义一些…

$nextTick属性使用与介绍

属性介绍 $nextTick 是 Vue.js 中的一个重要方法,之前我们也说过$ref 等一些重要的属性,这次我们说$nextTick,$nextTick用于在 DOM 更新后执行回调函数。它通常用于处理 DOM 更新后的操作,因为 Vue 在更新 DOM 后不会立即触发回调…

Android之 SVG绘制

一 SVG介绍 1.1 SVG(Scalable Vector Graphics)是可缩放矢量图形的缩写,它是一种图形格式,其中形状在XML中指定, 而XML又由SVG查看器呈现。 1.2 SVG可以区别于位图,放大可以做到不模糊,可以做…

类的加载过程

清楚每个环节的操作过程就可以了 1.加载Loading 加载过程: 通过一个类的全限定名获取定义此类的二进制字节流将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构在内存中生成一个代表这个类的java.lang.class对象,作为方法区这个类的各种数…

Laravel系列开源Dcat admin礼盒商城后台管理项目

前言: 在最近能在与某位前段大佬,合作开发一款项目,这宽项目是由laravel框架搭建使用的Dcat admin框架所制作的一个后台的管理系统,前段制作的是一款小程序,虽说后台管理系统无论是前段还是后端都是千篇一律,但内容也是非常丰富。但本项目仅作为开源学习和技术交流&#xff0c…

50etf期权最多能开仓多少手?

50etf期权限仓限额的操作,是为了能更好防范和控制期权交易的风险,无论是期货还是期权,在交易中都有规定的持仓限额,不能超过某个额度,那么50etf期权最多能开仓多少手?下文为你们全面介绍!本文来…