• (一)HBase


    三、课堂目标

    1. 理解hbase的核心概念

    2. 掌握hbase的特点

    3. 掌握hbase的架构

    4. 掌握hbase存储数据结构

    5. 掌握hbase的安装部署

    6. 掌握hbase shell命令基本操作

    四、知识要点

    1. habse是什么

    漫画学习hbase----最易懂的Hbase架构原理解析
    http://developer.51cto.com/art/201904/595698.htm

    1.1 hbase的概念

    hbase基于Google的BigTable论文,是建立的==hdfs==之上,提供高可靠性高性能列存储可伸缩实时读写的分布式数据库系统。在需要==实时读写随机==访问超大规模数据集时,可以使用hbase。

    1.2 hbase的特点

    • ==海量存储==

      • 可以存储大批量的数据

    • ==列式存储==

      • hbase表的数据是基于列族进行存储的,列族是在列的方向上的划分。

    • ==极易扩展==

      • 底层依赖HDFS,当磁盘空间不足的时候,只需要动态增加datanode节点服务(机器)就可以了

      • 可以通过增加服务器来提高集群的存储能力

    • ==高并发==

      • 支持高并发的读写请求

    • ==稀疏==

      • 稀疏主要是针对Hbase列的灵活性,在列族中,你可以指定任意多的列,在列数据为空的情况下,是不会占用存储空间的。

    • ==数据的多版本==

      • hbase表中的数据可以有多个版本值,默认情况下是根据版本号去区分,版本号就是插入数据的时间戳

    • ==数据类型单一==

      • 所有的数据在hbase中是以字节数组进行存储

    2 hbase整体架构

    2.1、==Client==

    • 客户端

      • Client包含了访问Hbase的接口

      • 另外Client还维护了对应的cache来加速Hbase的访问,比如cache的.META.元数据的信息

    2.2、==Zookeeper==

    • zookeeper集群

      • 作用

        • 实现了HMaster的高可用

        • 保存了hbase的元数据信息,是所有hbase表的寻址入口

        • 对HMaster和HRegionServer实现了监控

    2.3、==HMaster==

    • hbase集群的老大

      • 作用

        • 为HRegionServer分配Region

        • 维护整个集群的负载均衡

        • 维护集群的元数据信息

        • 发现失效的Region,并将失效的Region分配到正常的HRegionServer上

    2.4、==HRegionServer==

    • hbase集群中的小弟

      • 负责管理Region

      • 接受客户端的读写数据请求

      • 切分在运行过程中变大的region

    2.5、==Region==

    • hbase集群中分布式存储的最小单元

    3 hbase表的数据模型

    ==rowkey==

    • 行键

      • table的主键,table中的记录按照rowkey 的字典序进行排序

    ==Column Family==

    • 列族

      • hbase表中的每个列,都归属与某个列族。列族是表的schema的一部分(而列不是),必须在使用表之前定义。

    ==Timestamp==

    • 时间戳

      • 每次数据操作对应的时间戳,可以看作是数据的version number版本号

    ==Column==

      • 列族下面的具体列

      • 属于某一个ColumnFamily,类似于我们mysql当中创建的具体的列

    ==cell==

    • 单元格

      • 由{row key, column( =<family> + <label>), version} 唯一确定的单元

      • cell中的数据是没有类型的,全部是以字节数组进行存储

    4 hbase集群安装部署

    5 hbase集群的启动

    6 hbase集群的web 管理界面

    启动好hbase集群之后,可以访问地址:HMaster的主机名:16010

    例如:
    http://node1:16010


    可以看到整个hbase集群的相关信息.

    7 hbase shell命令基本操作

    详细见《HBase常用shell操作.md》操作文档

    五、拓展

    8 hbase在实际场景中的应用

    8.1、交通方面
    • 船舶GPS信息,全长江的船舶GPS信息,每天有1千万左右的数据存储。

    8.2、金融方面
    • 消费信息、贷款信息、信用卡还款信息等

    8.3、电商方面
    • 电商网站的交易信息、物流信息、游览信息等

    8.4、电信方面
    • 通话信息、语音详单等

    ==总结:海量明细数据的存储,并且后期需要有很好的查询性能==

    一些基本概念

  • 相关阅读:
    demo 集合
    iOS12、iOS11、iOS10、iOS9常见适配
    gem install cocoapods ERROR: While executing gem ... (Gem::FilePermissionError)
    ios LaunchScreen.storyboard 适配启动图
    加载资源文件读取以及转换成字符串的方法
    [UIApplication sharedApplication].keyWindow和[[UIApplication sharedApplication].delegate window]区别
    婚庆手机APP
    从一部电视剧开始
    论一次使用代理模式实现共用导出报表的功能
    MySql中使用EXPLAIN查看sql的执行计划
  • 原文地址:https://www.cnblogs.com/hanchaoyue/p/13196374.html
Copyright © 2020-2023  润新知