zoukankan      html  css  js  c++  java
  • ambari之hbase数据迁移

    一、hbase原理剖析

    Base是一个构建在HDFS上的分布式列存储系统;
    HBase是基于Google BigTable模型开发的,典型的key/value系统;
    HBase是Apache Hadoop生态系统中的重要一员,主要用于海量结构化数据存储;
    从逻辑上讲,HBase将数据按照表、行和列进行存储。
    与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。
    Hbase表的特点
    大:一个表可以有数十亿行,上百万列;
    无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列;
    面向列:面向列(族)的存储和权限控制,列(族)独立检索;
    稀疏:空(null)列并不占用存储空间,表可以设计的非常稀疏;
    数据多版本:每个单元中的数据可以有多个版本,默认情况下版本号自动分配,是单元格插入时的时间戳;
    数据类型单一:Hbase中的数据都是字符串,没有类型。

    注:网络有三种hbase迁移模式,因群集之间网络不通,采用手动方式迁移

    1、从源HBase集群中复制出HBase数据库表到本地目录。

    su - hdfs 
    hadoop fs -get /apps/hbase/data/data/dpa /本地目录

    2、复制本地目录数据到新群集中本地目录中(scp)

    3、新群集目录导入数据

    su - hdfs 
    hadoop fs -put /本地目录 /apps/hbase/data/data/dpa

    4、新群集中设置权限并修复.META.

    su - hdfs 
    hadoop fs -chmod -R 777 /apps/hbase/data/data/dpa su - hbase
    hbase hbck
    -fixMeta

    注:权限问题整了我两天时间,各种问题搜索、请教高人后无果,查看日志发现(日志观察很重要)

    5、重新分配数据到各RegionServer

    su - hbase 
    hbase hbck -fixAssignments

    PS:此方法优势灵活,安全;其它两种方法未测试,无法做出评价.

  • 相关阅读:
    超微主板不识别M2-解决方案
    Centos7安装zookpeer
    PowerBI主题制作
    [python错误]UnicodeDecodeError: 'gbk' codec can't decode byte...
    使用Python批量合并PDF文件(带书签功能)
    Oracle使用超大SQL脚本文件恢复数据问题记录
    Linux Mint 18.2安装后需要进行的设置
    Excel使用SUMIF函数注意事项
    CSV文件分割与列异常处理的python脚本
    小程序例子
  • 原文地址:https://www.cnblogs.com/patrick0715/p/5993338.html
Copyright © 2011-2022 走看看