zoukankan      html  css  js  c++  java
  • 记一次Hbase数据迁移和遇到的问题

    因为集群不互通,所以采用手动方式迁移

    1、下载目标集群数据

    hadoop fs -get /apps/hbase/data/data/default/*c4be21d3000064c0 /mnt/data

    2、远程复制数据,可以压缩一下

    scp ***

    3、上传数据到HDFS,一定要切换到hbase用户,不然会有错误

    su hdfs
    hadoop fs -put /app/hbase/* /apps/hbase/data/data/default/

    4、修复元数据等

    hbase hbck 只做检查 
    hbase hbck -fixMeta 根据region目录中的.regioninfo,生成meta表
    hbase hbck -fixAssignments 把meta表中记录的region分配给regionserver 
    hbase hbck -fixHdfsOrphans 修复.regioninfo文件
    hbase hbck -repair  表名

    遇到的问题:

    There is a hole in the region chain between  and .  You need to create a new .regioninfo and region dir in hdfs to plug the hole

    Found inconsistency in table

    最后发现是上传数据到hdfs是没有使用hbase用户,修改文件owner后重新修复就好了

    hadoop fs -chown -R hbase:hdfs /apps/hbase/data/data/default

    hbase hbck -repair  表名

  • 相关阅读:
    C#基础
    进制转换
    养猪和存储空间
    独热码和二进制码
    mux_xz
    饮料机
    亚稳态
    mos管功耗
    功能覆盖率和代码覆盖率
    时序逻辑电路输出特点
  • 原文地址:https://www.cnblogs.com/lianglianggege/p/9564605.html
Copyright © 2011-2022 走看看