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/C++实现
    顺序队列C/C++实现
    顺序队列C/C++实现
    Java文件拷贝
    Java文件拷贝
    三大范式与BCNF
    基础知识
    编辑软件
    Linux基础知识集锦
    Linux基础知识集锦
  • 原文地址:https://www.cnblogs.com/lianglianggege/p/9564605.html
Copyright © 2011-2022 走看看