`
nlslzf
  • 浏览: 1039584 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HBase下的Lease

阅读更多

在BigTable的论文中讲到了Lease的概念。Least就好比你租房子住,签了多长的合约。如果时间长了,你可以续约(renew)。你也可能因为房子不习惯想换个地住,你就和房东说,取消住房(cancel)。当然在Hbase里,你不用交违约金。

因为BigTable会同时处理很多个客户端,就好比是一个有多套房子的房东同时把不同房间租给了多个不同的客户。那它关心什么呢?我想他首先关心的是每个客户的合约(lease)什么时候到期了。在HBase里,也有类似的问题需要进行管理。每个合约用一个Lease表示,这个类继承了java的Delayed接口。Delayed接口简单的讲,就是告诉其它人在过一段时间要有事发生. 在这里,用于Lease合约超期了通知它人。这个它人是在创建Lease时指定的,就好比是签租房合同时上面填写的租房人名字。

总结下,这里提到了几个概念:
合约 (租房合约              ): Least
它人 (合约过期通知对象): Listener
在Hbase里,每一份Lease都用一个唯一的名字来标识它。如果你想renew一个不存在的Lease或者想创建一个已经存在的Lease都会抛出异常。

最后,HBase具体怎么判断哪个Lease过期了呢?是由Leases类实现的。它把所有的Lease存放在DelayQueue中,并不断轮询是否由Lease
过期了。轮询(poll)的频率由leaseCheckFrequency控制。Lease的租用时间长度由leasePeriod指定。
    lease = leaseQueue.poll(leaseCheckFrequency, TimeUnit.MILLISECONDS);

当轮询到一个Lease过期了,就将该Lease删除并通知该Lease的Listener。

分享到:
评论

相关推荐

    HbaseTemplate 操作hbase

    在IT行业中,尤其是在大数据处理领域,HBase是一个广泛使用的分布式、高性能、列式存储的NoSQL数据库。HBase是建立在Hadoop文件系统(HDFS)之上,为处理大规模数据提供了一个高效的数据存储解决方案。而Spring Data...

    pinpoint的hbase初始化脚本hbase-create.hbase

    搭建pinpoint需要的hbase初始化脚本hbase-create.hbase

    CDH-Hbase的安装1

    - 插入数据到表中,如`put 'test', 'r1', 'f:c', 'data'`,这将在`test`表的`r1`行的`f:c`列下插入数据。 - 扫描表来查看数据,`scan 'test'`,这将显示所有已插入的数据。 通过以上步骤,我们可以确认HBase安装...

    hbase配置内置的zookeeper

    通常情况下,HBase 可以与独立的 ZooKeeper 服务进行集成,但为了简化部署过程,特别是对于小型测试环境或开发环境,我们可以选择配置 HBase 内置的 ZooKeeper。 #### 二、配置步骤详解 ##### 1. 准备阶段 首先...

    Hbase权威指南(HBase: The Definitive Guide)

    - **灵活的数据模型**:HBase允许用户在不需要预先定义数据结构的情况下插入和查询数据,这对于处理半结构化或非结构化数据非常有用。 #### 五、HBase的应用场景 - **大规模数据存储**:适合于需要存储和检索大量...

    hbase安装与使用

    本文主要介绍如何在 Linux 环境下安装和配置 HBase 版本 0.98.3,并且针对不同的运行模式(本地模式、伪分布式模式、完全分布式模式)进行详细介绍。 #### 安装前提 1. **JDK 安装**:HBase 需要 JDK 1.6 或更高...

    hbase用于查询客户端工具

    HBase是一种分布式、基于列族的NoSQL数据库,它在大数据领域中扮演着重要的角色,尤其是在需要实时查询大规模数据集时。HBase以其高吞吐量、低延迟和水平扩展能力而闻名,常用于存储非结构化和半结构化数据。在HBase...

    HBase开启审计日志

    日志文件将存储在HBase的日志目录下,具体的格式和布局也已经定义好。 ##### 3. 打开Security Audit Appender 在`log4j.properties`中还包含了开启Security Audit Appender的配置: - **相关配置**: ```...

    HBase(hbase-2.4.9-bin.tar.gz)

    HBase(hbase-2.4.9-bin.tar.gz)是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System...

    hbase 资源合集 hbase 企业应用开发实战 权威指南 hbase 实战 hbase 应用架构

    《HBase实战》是一本实践导向的书籍,通过实际的项目案例,展示了HBase在不同场景下的应用,如实时分析、日志处理、推荐系统等。读者可以从中学习到如何根据业务需求设计合适的HBase表结构,以及如何进行高效的查询...

    HBase学习利器:HBase实战

    ### HBase学习利器:HBase实战 #### 一、HBase简介与背景 HBase是Apache Hadoop生态系统中的一个分布式、可扩展的列族数据库,它提供了类似Bigtable的能力,能够在大规模数据集上进行随机读写操作。HBase是基于...

    基于springboot集成hbase过程解析

    "基于SpringBoot集成HBase过程解析" SpringBoot集成HBase是当前大数据处理和存储解决方案中的一种常见组合。HBase是基于Hadoop的分布式、可扩展的NoSQL数据库,能够存储大量的结构化和非结构化数据。SpringBoot则...

    hbase-2.4.17-bin 安装包

    总结来说,HBase-2.4.17-bin安装包提供了一个强大且高效的NoSQL数据库,适合大数据场景下的实时读写操作。通过理解并掌握上述概念、安装步骤及操作方法,用户可以有效地利用HBase处理海量数据。

    hbase安装包

    HBase,全称为Hadoop Distributed File System上的基础结构(HBase on Hadoop Distributed File System),是一种分布式的、面向列的开源数据库,它构建在Apache Hadoop文件系统(HDFS)之上,提供高可靠性、高性能...

    hbase jar包.zip

    《Spring集成HBase的必备库解析》 在Java开发领域,Spring框架的广泛使用与HBase这样的大数据存储系统的结合日益紧密。"hbase jar包.zip" 提供了整合Spring与HBase所需的关键库文件,使得开发者能够高效地利用...

    hbase_libJar包

    例如,如果你的HBase运行在分布式模式下,你需要指定`hbase.cluster.distributed`属性为`true`,并设置`hbase.zookeeper.quorum`属性为Zookeeper服务器的地址列表。 总结,`hbase_libJar包`是HBase的核心组成部分,...

    hbase-sdk是基于hbase-client和hbase-thrift的原生API封装的一款轻量级的HBase ORM框架

    统一了HBase1.x和HBase2.x的实现,并提供了读写HBase的ORM的支持,同时,sdk还对HBase thrift 的客户端API进行了池化封装,(类似JedisPool),消除了直接使用原生API的各种问题,使之可以在生产环境下稳定工作。

    Hbase的安装过程及基本操作

    在本文中,我们将详细讲解Hbase的安装过程以及基本操作,特别针对在Linux环境下使用清华大学镜像进行下载的情况。Hbase是一个分布式的、面向列的数据库,常用于大数据存储,是Apache Hadoop生态系统的一部分。以下是...

    scala API 操作hbase表

    此外,为了连接到HBase,还需要在项目的`src/main/resources`目录下放置`core-site.xml`、`hdfs-site.xml`和`hbase-site.xml`配置文件。 以下是一些关键的Scala API操作HBase的基本步骤: 1. 引入必要的库: 首先...

Global site tag (gtag.js) - Google Analytics