zoukankan      html  css  js  c++  java
  • 小记--------hbase数据库各组件应用及作用

    zookeeper:主要用于协调管理分布式应用程序;

      1.实现master高可用;如果 active master由于异常宕机,zookeeper会检测到该宕机时间,并通过一定机制选举出新的master

    2.管理系统核心元数据:当前系统中正常工作的regionserver集合,保存系统元数据表hbase:meta所在额regionserver地址等等

    3.参与regionserver宕机恢复:zookeeper通过心跳可以感知到regionserver是否宕机,并在宕机后通知master进行宕机处理

    4.实现分布式表锁:hbase对表进行操作时需要先加锁,防止其他用户对同一张表进行操作,造成表状态不一致;zookeeper可以通过特定机制实现分布式表锁

    master:主要负责hbase系统的各种管理工作;

    1.处理用户的各种管理请求;建表、修改表、切分表、数据合并、compaction

    2.管理集群中所有regionserver;包括region的负载均衡,regionserver的宕机恢复,region的迁移

    3.清理过期日志以及文件;会每隔一段时间检查hdfs中HLog是否过期、HFile是否已经被删除,并在过期后删除

    RegionServer(有几台机器就有几个regionserver)主要用来响应用户的IO请求。由WAL(HLog)、BlockCache、多个region构成

    1.WALHLog):HLog在hbase中有两个核心作用:

    一、用于实现数据的高可靠性;hbase在数据写入时,会先写入缓存,再异步刷新到磁盘,为防止缓存数据丢失,数据写入缓存之前首先顺序写入HLog;这样的话即使数据丢失,仍然可以通过HLog恢复。

    、用于实现hbase集群见主从复制,通过回访主集群推送过来的HLog日志实现主从复制

            

    2.BlockCache:hbase系统中读缓存,客户端从磁盘读取数据之后通常会将数据缓存到系统内存中,后续访问同一行数据可以直接从内存中获取而不需要访问磁盘

    3.Regionregion是集群负载均衡的基本单位。

    一个region由一个或者多个store构成。

    store的个数取决于表中列簇的个数,多少个列簇就有多少个store

    每个store由一个memstore和一个或者多个HFile组成。MemStore称为写缓存,首先会写到Memstore中,当MemStore写满之后(缓存数据超过阈值,默认128M)系统会异步将数据flush成一个HFile文件,HFile文件数超过一定阈值之后系统将会执行Compact操作,将这些小文件通过一定策略合并成一个或多个大文件

    HDFShbase底层依赖hdfs组件存储时间数据,包括用户数据文件、HLog日志文件等最终都会写入hdfs落到磁盘。hdfs数据默认3副本存储策略可以有效保证数据的高可靠性。hbase内部封装了一个名为HDFSClient的HDFS客户端组件,负责对HDFS的实际数据进行读写访问

  • 相关阅读:
    管理之道
    散户炒股图
    Linux系统编程(37)—— socket编程之UDP服务器与客户端
    Linux系统编程(36)—— socket编程之UDP详解
    Linux系统编程(35)—— socket编程之TCP服务器的并发处理
    Linux系统编程(33)—— socket编程之TCP程序的错误处理
    Linux系统编程(34)—— socket编程之TCP服务器与客户端的交互
    Linux系统编程(32)—— socket编程之TCP服务器与客户端
    Linux系统编程(31)—— socket编程之TCP详解
    Linux系统编程(30)—— socket编程之TCP/IP协议
  • 原文地址:https://www.cnblogs.com/yzqyxq/p/12103297.html
Copyright © 2011-2022 走看看