hbase简介

hdfs***
hdfs dfs -ls /

------------------------------基础-------------------------------------------------
HDFS是分布式文件存储系统,核心功能就是为用户提供更加稳定合理的文件存储方式。
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。
HBase是Hadoop的数据库,一个分布式、可扩展、大数据的存储。作为一个依托于HDFS存在的NoSql数据库

  1. HBASE是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统, HBASE以HDFS作为存储

  2. 进入hbase客户端 hbase shell

  3. hbase web ui监控 可以查看Table信息、LOG日志、配置文件等
    http:master:60010/master-status

  4. HBASE组成
    HDFS :
    HDFS为Hbase提供底层数据存储服务,元数据和表数据都存储在HDFS中,同时为Hbase提供高可用(Hlog存储在HDFS)的支持;
    HDFS数据多副本机制能保证HBASE的高可靠性
    HMaster :
    管理HRegionServer:为RegionServer分配Region,当RegionSever失效的时候,协调对应Hlog的拆分,将失效的Region分配到正常的RegionServer上;
    维护集群的元数据信息,维护集群负载均衡
    HRegionServer : HRegionServer 由HRegion、Hlog组成;
    HRegion由store组成;store由memstore、storefile组成;storefile由hfile组成。
    MemStore存储在内存中,StoreFile存储在HDFS上
    Hlog=Hlogkey+WALEdit。Hlogkey=sequenceid+timestamp+cluster ids+regionname+tablename等组成,WALEdit是由一系列的KeyValue组成
    HFile包括:
    Data:数据块
    Meta:元数据块
    Fileinfo:文件信息
    DataIndex:Data块索引信息
    MetaIndex:Meta块索引信息
    Trailer:存储了Fileinfo Dataindex Metaindex的偏移值
    直接对接来自客户端的读写请求,是真正的“干活”的节点,比如表的增删改查数据,和hdfs交互,存取数据。
    管理master为其分配的Region。
    负责和底层HDFS的交互,存储数据到HDFS。
    负责Region变大以后的拆分。
    负责Storefile的合并工作。
    Zookeeper :
    Hbase通过Zookeeper来做HA高可用,Zk保存Hmaster的地址和backup-master地址,ZK能保证集群中只有1个master在运行,如果master异常,会通过竞争机制选举新的master。
    Zookeeper管理HregionServer,监控RegionServer的状态、当RegionSevrer有异常的时候,通过回调的形式通知Master RegionServer上下限的信息。
    Zookeeper存储元数据的统一入口地址(znode:/hbase/meta-region-server),这就说明zK很重要,把ZK关掉你就不能读取数据了。因为你读取数据所需要的元数据表在ZK上。

  5. LSM : Log Structured-Merge Tree(日志结构合并)

  6. HBASE的Table会划分为多个Region,HMaster将Region分配给HRegionServer进行后续处理,

  7. Region是HBase中分布式存储和负载均衡的最小单元(但并不是存储的最小单元)。类似于数据库分区的概念。
    Region由一个或者多个Store组成,一个Store对应一个列族的数据,每个Store又由一个MemStore和0至多个StoreFile组成。MemStore存储在内存中,StoreFile存储在HDFS上
    Table (HBase table)
    Region (Regions for the table)
    Store (Store per ColumnFamily for each Region for the table)
    MemStore (MemStore for each Store for each Region for the table)
    StoreFile (StoreFiles for each Store for each Region for the table)
    Block (Blocks within a StoreFile within a Store for each Region for the table

  8. 在HBASE中元信息管理是meta表,ZK是元信息的入口

  9. hbase建表语句 create ’table’, {NAME => ‘cf’, SPLIT_POLICY => ‘org.apache.hadoop.hbase.regionserver. SteppingSplitPolicy’}

  10. 参数hbase.hstore.compactionThreadhold(最小minor compaction的文件个数,默认3)配置

  11. WAL文件存活到hbase.master.logcleaner.ttl定义的超时时间为止,默认10分钟。

  12. 大合并一般一周做一次,控制参数为hbase.hregion.majorcompaction(Major compaction的周期,默认是1day)

  13. 查看meta中存储的元信息 scan ‘hbase:meta’
    14.创建一个测试表 test,列族为 cf:(https://www.cnblogs.com/YuanWeiBlogger/p/12187890.html)
    create ‘表名’,‘列族名1’,‘列族名2’,‘列族名N’
    eg: create ‘test’, {NAME => ‘cf’}
    默认属性如下:

    hbase > describe ‘test’
    {
    NAME => ‘cf’,
    BLOOMFILTER => ‘ROW’,
    VERSIONS => ‘1’,
    IN_MEMORY => ‘false’,
    KEEP_DELETED_CELLS => ‘FALSE’,
    DATA_BLOCK_ENCODING => ‘NONE’,
    TTL => ‘FOREVER’,
    COMPRESSION => ‘GZ’,
    MIN_VERSIONS => ‘0’,
    BLOCKCACHE => ‘true’,
    BLOCKSIZE => ‘65536’,
    REPLICATION_SCOPE => ‘0’
    }

----------常用命令--------------
连接 sqlline.py cdh01:2181
0. 10.98.98.56,/data 目录分配2TB空间
10.98.98.57,/data 目录分配2TB空间
10.98.98.58,/data 目录分配2TB空间
账号密码:root/111111

  1. 查看meta中存储的元信息 scan ‘hbase:meta’
  2. Hbase查看命名空间 list_namespace
  3. 系统命名空间,有两个重要的表,meta–>用于存储元数据,namespace–>存储hbase命名空间的表 list_namespace_tables ‘hbase’
  4. default – 没有显式指定命名空间的表,将自动落入此命名空间 list_namespace_tables ‘default’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值