简单的可伸缩性,准确的易于 - 到 - 霍恩底的扩展,一直是HBase骄傲的优势之一,因此从理论上讲,HBase的群集大小可以很棒,并且在HBase中HBase中的HBase中可以存在多种产品和业务数据。统一的管理,节省运营和维护资源和成本。
但是,群集的大小很大,数据量很大,并且处理负载较高。此外,各种产品与业务之间的优先级不同,负载是不同的,对不同资源的敏感性不同。这不是很好。面对这种业务场景的早期HBASE版本,没有相关的解决方案,因此每次战斗都更多,每个战斗都使用自己的群集。在维度成本上,它是扩展的特征HBASE,因此随后的HBase版本慢慢增加了多种多类和业务资源隔离解决方案。
HBase的实施是从硬件资源隔离和业务资源隔离的两个方面解释的:
该函数用于将统一的大HBase群集的区域服务器分为多组。管理员可以将不同的表放入不同的组中进行资源隔离,以避免在非相关业务之间相互影响。
您还可以根据不同的业务需求提供不同的硬件资源。对于关键业务,您可以分配更多的区域服务器机器以减少负载;对于非钥匙企业,较少的机器可以承担更多的企业。
目前,Datanode支持了评分存储,甚至可以使用不同的媒体(例如SSD)来双重改进硬件资源利用率和业务执行效率。
下图是HBase中RSGroup的实现方法:
从上图和上面的描述可以看出,RSGroup的特征如下:
启发所有节点的hbase-size.xml并重新启动主的优势和缺点。配置修改如下:
在生产系统中使用RSGroup需要考虑许多与业务需求相关的硬件成本和限制。以下是相对普遍的参考原则:
最后,讨论使用RSGroup期间的相关管理和预防措施:
默认情况下,RegionServer仅向所有业务使用提供一个请求队列。队列处理所有读写请求,导致一些延迟请求影响其他对延迟延迟敏感的业务,并且大量写作请求会影响读取请求。在对这种情况的响应中,HBASE提供了读取-Write队列隔离方案。
HBase具有四种典型数据API操作类型,即删除,扫描和放置。其中,GET和SCAN属于读取类型,将和删除属于写入类型。在默认场景中,HBase仅提供队列,所有请求将输入优先排序的队列。在某些情况下,我们需要这四种类型的访问权限尽可能多,因此我们需要在线配置阅读和写作分离。
首先,根据HBASE的业务特征,也就是说,更多或更多的文字写入阅读和写作比例:
HBase中的相关配置如下:
此值默认为HBase中的0,这意味着读取和写入资源未分开。如果HBase.ipc.server.callqueue.callqueue.read.ratio设置为0.5,则意味着读取线程数量的50%请求,其余的50%用于接收写作请求。如果您阅读更多并少写的内容,请设置0.5-1之间的值;如果您写更多阅读,请在0-0.5之间设置值。
其次,在某些情况下,阅读操作并需要隔离。HBase还提供扫描和获取的比率:
HBase中的相关配置如下:
此值在HBase中默认为0,这意味着扫描和获取资源没有分开。如果hbase.ipc.server.callqueue.callqueue.scan.ramedio设置为0.5,则意味着在50%的阅读线程中,50%线程进程扫描(占所有线程的25%。如果GET中有更多扫描,则该值设置为0-0.5。
原始:https://juejin.cn/post/7096387635421118500