HBase高级

HBase Shell

  • help命令的使用:help "command"
  • 创建命名空间 create_namespace 'np_name'
  • 创建表 create 'np_name:tb_name','column_family_name' //如果指定属性(每个列簇可以指定读个属性)需要加{NAME=>'f1'},{NAME=>'f2'}、、等价于create 'np_name:tb_name' 'f1','f2'
  • HBase创建表的预分区:
    • region的划分依赖于rowkey,预先评估rowkey;
    • create 'table1' 'info',split=>['20151001000000','20151011000000','20151021000000']//创建4个分区
      第一个分区(null——20151001000000)
      二(20151001000000-20151011000000)
      三(20151011000000-20151021000000)
      四(20151021000000-null)
    • 另一种方法:创建split.txt
      然后在创建的时候create 'table1' 'info',split=>'address/split.txt'
    • 第三种根据16机制字符串生成rowkey(不常用)

案例:联通通话记录

  • 依据查询字段:Tel+time
  • 需要的字段:tel、time、area、active、对方号码、通话时长talktime
  • 如何设计表:核心:rowkey查询快
    • rowkey:手机号码+通话时间
    • scan startrow
      1827872747447_201703240924
      endrow
      1827872747447_201703241024
    • 实时性:如何在海量数据中快速查出需要的数据 ,核心思想:依据rowkey查询最快,对rowkey进行范围查询,前缀匹配
  • 新需求:针对话单查询
    • 索引表设计好rowkey;
    • 列是主表的rowkey

主表和索引表数据如何同步

  • 程序,事物
  • Phoenix(在Nosql数据库上提供sql支持):JDBC方式才能同步
  • solr

HBase表的属性:

  • 查看:describe table_name
  • 设置版本{version=>'1'}
  • 压缩compression

配置hbase snappy压缩

  • 配置Hadoop压缩
  • 配置hbase 将Hadoop-snappy.jar 放入到lib目录;在lib目录下创建一个native目录,再将ln -s $hadoop/lib/native $hbase/lib/native/linux-amd64-64
    重启

in_memery配置
blockcache配置每个regionserver只有一个blockcache

HBase表的compaction

  • 当memstore中的数据不断刷写入磁盘中以后,Hfile越来越多,解决的方法是合并,分为minor合并和major合并,minor合并是将多个小文件重写为数量较少的大文件,减少存储文件的数量,实际上是多路归并的思想,所以合并速度快,major合并是将一个region中的一个列簇的若干个HFile重写为一个新的HFile,相比前者,还有更独特的功能,能扫描所有的键值对,顺序重写,重写中会忽略做过删除标记的数据,例如,那些超过版本号限制和生存时间到期的数据也会在此过程中不再重写
  • 当合并文件达到单个文件的配置允许的最大值是会触发一个region的自动分割,region split成两个
  • 轻量级minor合并:把符合条件的最早生成的几个storefile合并成一个大的storefile,不会标记删除的数据和过期的数据,并且还行这个操作后还会有多个storefile文件
  • 重量级major合并:把所有的storefile合并成一个单一的storefile文件,在文件合并期间会删除标记为删除和过期的数据,同时会block(阻塞)所有客户端对该操作所属的region的请求知道合并完毕,最后删除已合并的storefile

HBase管理

  • HBase admin管理 HBaseServer_name:60010
  • 使用HBase shell管理表
  • WAL tool
  • HFile tool
  • HBase hbck
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近在逐步跟进Hbase的相关工作,由于之前对Hbase并不怎么了解,因此系统地学习了下Hbase,为了加深对Hb...
    飞鸿无痕阅读 50,349评论 19 272
  • HBase存储架构图 HBase Master 为Region server分配region 负责Region s...
    kimibob阅读 5,634评论 0 52
  • 简介 [HBase]——Hadoop Database的简称,Google BigTable的另一种开源实现方式,...
    高广超阅读 2,416评论 1 27
  • 1. HBase介绍,Hbase是什么? HBase -- Hadoop Database ,是一个高可靠、高性能...
    奉先阅读 3,785评论 1 36
  • HBase那些事 @(大数据工程学院)[HBase, Hadoop, 优化, HadoopChen, hbase]...
    分痴阅读 3,998评论 3 17