Hbase多租户(1)

作者: 墨默滴 | 来源:发表于2017-03-08 16:29 被阅读0次

Hbase 1.1.0 版本后社区给出处理 multiple workloads的方案,Quotas、Request Queues、 Multiple-Typed Queues

1. Quotas

针对用户、表、和表空间资源的限制

  • 每时间段请求的数量和大小
  • 表空间表的数量

配置<hbase-site.xml>

hbase.quota.enabled=true
hbase.quota.refresh.period =300000

示例

# Limit user u1 to 10 M write size per sec
hbase> set_quota TYPE => THROTTLE, THROTTLE_TYPE => WRITE, USER => 'u1', LIMIT => '10M/sec'
# Limit user u1 to 10 read requests per sec on table t2
hbase> set_quota TYPE => THROTTLE, THROTTLE_TYPE => READ, USER => 'u1', TABLE => 't2', LIMIT => '10req/sec'
# Limit all users to 10 requests per hour on namespace ns1
hbase> set_quota TYPE => THROTTLE, NAMESPACE => 'ns1', LIMIT => '10req/hour'
# Limit all users to 10 T per hour on table t1
hbase> set_quota TYPE => THROTTLE, TABLE => 't1', LIMIT => '10T/hour'
# Create a namespace with a max of 5 tables
hbase> create_namespace 'ns1', {'hbase.namespace.quota.maxtables'=>'5'}
# Create a namespace with a max of 10 regions
hbase> create_namespace 'ns1', {'hbase.namespace.quota.maxregions'=>'10'
# user u1 is not affected by the limit
hbase> set_quota USER => 'u1', GLOBAL_BYPASS => true                     
  1. THROTTLE_TYPE 可以设置为write、read,默认为read+write
  2. 时间段值:sec、min、 hour、 day
  3. 请求大小值:B (bytes), K (kilobytes), M (megabytes), G (gigabytes), T (terabytes), P (petabytes)
  4. 请求数量:req
  5. 表或者region值为整数

2. Request Queues

0.99版本之后,HBase将默认请求队列由FIFO类型改为了Deadline类型。Deadline算法目标是使得在线交互式查询请求优先级更高,而离线长scan请求优先级更低。除此之外还有一个通常不会被注意的目标:不能出现任何请求被饿死!

HBase在具体实现中会为每一个请求设置一个deadline(时间期限),代表这个请求的处理期限,deadline越小,请求优先级越高。

deadline.png

3. Multiple-Typed Queues

Multiple Queues

hbase.ipc.server.callqueue.handler.factor=0.1
假设总handlercount=150,则会产生15个独立队列。

Read and Write Queues

hbase.ipc.server.callqueue.read.ratio =0.6
表示会有9个队列用于接收读请求,6个用于接收写请求。

Get and Scan Queues

hbase.ipc.server.callqueue.scan.ratio=0.1
表示1个队列用于scan请求,另外8个用于get请求。

相关文章

  • Hbase多租户(1)

    Hbase 1.1.0 版本后社区给出处理 multiple workloads的方案,Quotas、Reques...

  • HBase多租户-Namespace Quota管理

    在多租户的HBase环境中,通常给一个租户分配一个namespace,因此namespace的容量管理是多租户管理...

  • HBase多租户系统设计

    面向多租户的数据安全和资源隔离能力,提供标准的用户名密码认证、ACL、Quota、Resource Group等特...

  • 【多租户】初识多租户

    前言 什么是多租户呢,你了解多租户吗,多租户是什么呢 叙述 多租户的历史: 多租户技术源于1960年代,许多公司为...

  • 团队开发框架实战—多租户架构

    1 对多租户的理解 多租户定义:多租户技术或称多重租赁技术,简称SaaS,是一种软件架构技术,是实现如何在多用户环...

  • 多租户概念

    多租户 什么是多租户 多租户指一套系统能够支撑多个租户。一个租户通常是具有相似访问模式和权限的一组用户,典型的租户...

  • Apache Phoenix(十四)新特性之多租户

    亮点 多租户在Phoenix中工作通过结合多租户表和租户指定连接(详情查看下文)。 租户可以打开租户指定的连接进行...

  • Abp框架多租户源码解读及自定义拓展

    Abp框架多租户源码解读及自定义拓展 1、Abp源码解析 多租户连接字符串处理类(EntityFrameworkC...

  • 第2章 SaaS-HRM数据库设计方案

    学习目标: 理解多租户的数据库设计方案 熟练使用PowerDesigner构建数据库模型 1. 多租户SaaS平台...

  • ABP 关闭/打开多租户

    ABP支持多租户,如果使用模板创建ABP项目,缺省支持多租户。如果不希望使用多租户功能,可以修改相关代码,在Web...

网友评论

    本文标题:Hbase多租户(1)

    本文链接:https://www.haomeiwen.com/subject/mfbbgttx.html