CN110825660A - 一种基于HBase的朱丽叶暂停优化方法、系统及设备 - Google Patents
一种基于HBase的朱丽叶暂停优化方法、系统及设备 Download PDFInfo
- Publication number
- CN110825660A CN110825660A CN201910925968.8A CN201910925968A CN110825660A CN 110825660 A CN110825660 A CN 110825660A CN 201910925968 A CN201910925968 A CN 201910925968A CN 110825660 A CN110825660 A CN 110825660A
- Authority
- CN
- China
- Prior art keywords
- chunk
- hbase
- regionserver
- cms
- mslab
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出的一种基于HBase的朱丽叶暂停优化方法、系统及设备,在HBase的ReginServer的堆内存管理中,使用CMS并发回收器,进行回收的同时保证应用不会停止。同时在RegionServer中增加了HBase独有的新策略MSLAB,以memstore为最小单元的内存管理,将memstore中分为多个2MB大小chunk进行存入数据,在一个chunk放满数据后才会申请下一个chunk,减少了小碎片引起的无法插入数据的问题。又因为CMS并发回收器的作用而减少了老年代的暂停时间,从而推迟了朱丽叶暂停的来临时间的同时也减少了朱丽叶暂停的持续时间。
Description
技术领域
本发明涉及计算机存储技术领域,更具体的说是涉及一种基于HBase的朱丽叶暂停优化方法、系统及设备。
背景技术
伴随着服务器的内存的不断增大,我们所使用的大数据集群的内存也变的越来越大。而安装在这些集群上的HBase组件为了提高性能,会设置的很大的堆内存用来提高HBase数据库访问的速度。这样HBase的RegionServer在使用一段时间过程后会出现停止一切服务进程来进行内存空间的整理的行为,且进行内存整理的时间伴随内存的增大会越来越长。
在大数据集群中,zookeeper会因为检测不到停止进程的RegionServer的心跳,使该节点RegionServer宕机,最终导致的后果是该节点的RegionServer自杀,称之为HBase的朱丽叶暂停。
在使用大内存服务器逐渐成为主流趋势的现在,这种情况不但常见并且几乎无法避免。目前存在有几种使用回收器的办法来延时朱丽叶暂停来临的时间或减少暂停的时间,但是每种方法都存在一定缺陷和局限性。
发明内容
针对以上问题,本发明的目的在于提供一种基于HBase的朱丽叶暂停优化方法、系统及设备,使用CMS与HBase新的独有策略MSLAB进行组合,并对两种策略可能出现的冲突进行优化。两者相互协调,从而减小朱丽叶暂停造成的灾害。
本发明为实现上述目的,通过以下技术方案实现:一种基于HBase的朱丽叶暂停优化方法,包括:
使用MSLAB将RegionServer的内部缓存分为若干存储单元进行管理;
在RegionServer中增加并发回收器CMS;
通过调整MSLAB参数回避与CMS的策略冲突。
进一步,所述使用MSLAB将RegionServer的内部缓存分为若干存储单元进行管理包括:
调用MSLAB的方法引入chunk的概念,并设置chunk的默认内存空间;
将RegionServer中用于维护全局的MemStroreChunkPool实例,作为chunk池;
在MemStore实例中设置一个MemStoreLAB实例;
当MemStore接收到KeyValue数据时,先从ChunkPool中申请一个chunk,然后将KeyValue数据存入所述chunk中;
当所述chunk没有存储空间后,再新申请一个chunk;
当Memstore因为刷写而释放内存时,按照chunk的预设方式清空内存。
进一步,所述在RegionServer中增加并发回收器CMS包括:
通过修改RegionServer中的配置文件,在年老代设置并使用并发回收器CMS。
进一步,所述通过调整MSLAB参数回避与CMS的策略冲突包括:
根据CMS的回收原则,在配置文件中调整每个chunk的大小chunksize和能放入chunk的最大单元格的大小mslab.max.allocation;
设置在RegionServer启动的时候预分配的空chunk占整个chunkPool的比例为0.0。
进一步,设置chunk的默认内存空间为2M。
相应的,本发明还公开了一种基于HBase的朱丽叶暂停优化系统,包括:
管理单元,用于使用MSLAB将RegionServer的内部缓存分为若干存储单元进行管理;
设置单元,用于在RegionServer中增加并发回收器CMS;
调整单元,用于通过调整MSLAB参数回避与CMS的策略冲突。
进一步,所述管理单元包括:
调用模块,用于调用MSLAB的方法引入chunk的概念,并设置chunk的默认内存空间;
实例控制模块,用于将RegionServer中用于维护全局的MemStroreChunkPool实例,作为chunk池;
实例设置模块,用于在MemStore实例中设置一个MemStoreLAB实例;
数据存储模块,用于当MemStore接收到KeyValue数据时,先从ChunkPool中申请一个chunk,然后将KeyValue数据存入所述chunk中;
添加模块,用于当所述chunk没有存储空间后,再新申请一个chunk;
删除模块,用于当Memstore因为刷写而释放内存时,按照chunk的预设方式清空内存。
进一步,所述设置单元包括:
修改模块,用于通过修改RegionServer中的配置文件,在年老代设置并使用并发回收器CMS。
进一步,所述调整单元包括:
空间调整模块,用于根据CMS的回收原则,在配置文件中调整每个chunk的大小chunksize和能放入chunk的最大单元格的大小mslab.max.allocation;
比例设置模块,用于设置在RegionServer启动的时候预分配的空chunk占整个chunkPool的比例为0.0。
相应的,本发明还公开了一种基于HBase的朱丽叶暂停优化设备,包括:存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任一项所述基于HBase的朱丽叶暂停优化方法步骤。
对比现有技术,本发明有益效果在于:本发明提供了一种基于HBase的朱丽叶暂停优化方法、系统及设备,在HBase的ReginServer的堆内存管理中,使用CMS并发回收器,进行回收的同时保证应用不会停止。同时在RegionServer中增加了HBase独有的新策略MSLAB,以memstore为最小单元的内存管理,将memstore中分为多个2MB大小chunk进行存入数据,在一个chunk放满数据后才会申请下一个chunk,减少了小碎片引起的无法插入数据的问题。又因为CMS并发回收器的作用而减少了老年代的暂停时间,从而推迟了朱丽叶暂停的来临时间的同时也减少了朱丽叶暂停的持续时间。
本发明在Memstore中使用MSLAB策略将memstore分成chunk小块进行处理来延缓朱丽叶暂停到来的时间,同时在RegionServer的缓存中使用了CMS策略来减少老年代暂停的时间。两者无冲突结合后不仅推迟了朱丽叶暂停到来的时间,也大大减少了RegionServer进行内存重排的时间,从而防止zookeeper认定RegionServer宕机产生的RegionServer自杀现象。本发明主要改善了内存较大的大数据集群中HBase较长使用后RegionServer挂掉的问题,应用于目前对HBase性能有一定要求的中高内存的大数据集群的使用。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
附图1是本发明的方法流程图。
附图2是本发明的系统结构图。
具体实施方式
下面结合附图对本发明的具体实施方式做出说明。
如图1所示的一种基于HBase的朱丽叶暂停优化方法,包括如下步骤:
S1:使用MSLAB将RegionServer的内部缓存分为若干存储单元进行管理。调用MSLAB的方法引入chunk的概念,将chunk设定为大小默认为2MB的内存;在RegionServer中维护着全局的MemStroreChunkPool实例,作为chunk池。在所有的MemStore实例中都存在一个MemStoreLAB实例;在MemStore接收到KeyValue数据时候先从ChunkPool中申请一个chunk,然后放到这个Chunk中。当这个chunk放满了之后再新申请另外一个chunk。当Memstore遇到因为刷写问题需要释放内存的时候,就通过按照chunk的方式来清空内存。
S2:在RegionServer中增加并发回收器CMS。通过修改RegionServer中的配置文件,在年老代设置并使用并发回收器CMS。
S3:通过调整MSLAB参数回避与CMS的策略冲突。在配置文件中调整每chunk的大小chunksize和能放入chunk的最大单元格的大小mslab.max.allocation,因为CMS进行执行回收时,会留下浮动垃圾,所以设置时稍增大每个chunk的大小,使MSLAB能够适应CMS的回收原则。调整整个memstore可以占用的堆内存的比例在MSLAB的基础上降低一部分使CMS策略能够更好的进行执行。设置在RegionServer启动的时候预分配的空chunk占整个chunkPool的比例为0.0,防止出现CMS执行的报错。通过调整使CMS与MSLAB避免发生冲突,能够更好的协调工作。
相应的,如图2所示,本发明还公开了一种基于HBase的朱丽叶暂停优化系统,包括:
管理单元,用于使用MSLAB将RegionServer的内部缓存分为若干存储单元进行管理。管理单元包括:调用模块,用于调用MSLAB的方法引入chunk的概念,并设置chunk的默认内存空间;实例控制模块,用于将RegionServer中用于维护全局的MemStroreChunkPool实例,作为chunk池;实例设置模块,用于在MemStore实例中设置一个MemStoreLAB实例;数据存储模块,用于当MemStore接收到KeyValue数据时,先从ChunkPool中申请一个chunk,然后将KeyValue数据存入所述chunk中;添加模块,用于当所述chunk没有存储空间后,再新申请一个chunk;删除模块,用于当Memstore因为刷写而释放内存时,按照chunk的预设方式清空内存。
设置单元,用于在RegionServer中增加并发回收器CMS。设置单元包括:
修改模块,用于通过修改RegionServer中的配置文件,在年老代设置并使用并发回收器CMS。
调整单元,用于通过调整MSLAB参数回避与CMS的策略冲突。空间调整模块,用于根据CMS的回收原则,在配置文件中调整每个chunk的大小chunksize和能放入chunk的最大单元格的大小mslab.max.allocation;比例设置模块,用于设置在RegionServer启动的时候预分配的空chunk占整个chunkPool的比例为0.0。
相应的,本发明还公开了一种基于HBase的朱丽叶暂停优化设备,包括:存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任一项所述基于HBase的朱丽叶暂停优化方法步骤。
本实施例提供了一种基于HBase的朱丽叶暂停优化方法、系统及设备,在Memstore中使用MSLAB策略将memstore分成chunk小块进行处理来延缓朱丽叶暂停到来的时间,同时在RegionServer的缓存中使用了CMS策略来减少老年代暂停的时间。两者无冲突结合后不仅推迟了朱丽叶暂停到来的时间,也大大减少了RegionServer进行内存重排的时间,从而防止zookeeper认定RegionServer宕机产生的RegionServer自杀现象。本发明主要改善了内存较大的大数据集群中HBase较长使用后RegionServer挂掉的问题,应用于目前对HBase性能有一定要求的中高内存的大数据集群的使用。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。
Claims (10)
1.一种基于HBase的朱丽叶暂停优化方法,其特征在于,包括:
使用MSLAB将RegionServer的内部缓存分为若干存储单元进行管理;
在RegionServer中增加并发回收器CMS;
通过调整MSLAB参数回避与CMS的策略冲突。
2.根据权利要求1所述的基于HBase的朱丽叶暂停优化方法,其特征在于,
所述使用MSLAB将RegionServer的内部缓存分为若干存储单元进行管理包括:调用MSLAB的方法引入chunk的概念,并设置chunk的默认内存空间;
将RegionServer中用于维护全局的MemStroreChunkPool实例,作为chunk池;
在MemStore实例中设置一个MemStoreLAB实例;
当MemStore接收到KeyValue数据时,先从ChunkPool中申请一个chunk,然后将KeyValue数据存入所述chunk中;
当所述chunk没有存储空间后,再新申请一个chunk;
当Memstore因为刷写而释放内存时,按照chunk的预设方式清空内存。
3.根据权利要求1所述的基于HBase的朱丽叶暂停优化方法,其特征在于,
所述在RegionServer中增加并发回收器CMS包括:
通过修改RegionServer中的配置文件,在年老代设置并使用并发回收器CMS。
4.根据权利要求1所述的基于HBase的朱丽叶暂停优化方法,其特征在于,
所述通过调整MSLAB参数回避与CMS的策略冲突包括:
根据CMS的回收原则,在配置文件中调整每个chunk的大小chunksize和能放入chunk的最大单元格的大小mslab.max.allocation;
设置在RegionServer启动的时候预分配的空chunk占整个chunkPool的比例为0.0。
5.根据权利要求2所述的基于HBase的朱丽叶暂停优化方法,其特征在于:设置chunk的默认内存空间为2M。
6.一种基于HBase的朱丽叶暂停优化系统,其特征在于,包括:
管理单元,用于使用MSLAB将RegionServer的内部缓存分为若干存储单元进行管理;
设置单元,用于在RegionServer中增加并发回收器CMS;
调整单元,用于通过调整MSLAB参数回避与CMS的策略冲突。
7.根据权利要求6所述的基于HBase的朱丽叶暂停优化系统,其特征在于,所述管理单元包括:
调用模块,用于调用MSLAB的方法引入chunk的概念,并设置chunk的默认内存空间;
实例控制模块,用于将RegionServer中用于维护全局的MemStroreChunkPool实例,作为chunk池;
实例设置模块,用于在MemStore实例中设置一个MemStoreLAB实例;
数据存储模块,用于当MemStore接收到KeyValue数据时,先从ChunkPool中申请一个chunk,然后将KeyValue数据存入所述chunk中;
添加模块,用于当所述chunk没有存储空间后,再新申请一个chunk;
删除模块,用于当Memstore因为刷写而释放内存时,按照chunk的预设方式清空内存。
8.根据权利要求6所述的基于HBase的朱丽叶暂停优化系统,其特征在于,所述设置单元包括:
修改模块,用于通过修改RegionServer中的配置文件,在年老代设置并使用并发回收器CMS。
9.根据权利要求6所述的基于HBase的朱丽叶暂停优化系统,其特征在于,所述调整单元包括:
空间调整模块,用于根据CMS的回收原则,在配置文件中调整每个chunk的大小chunksize和能放入chunk的最大单元格的大小mslab.max.allocation;
比例设置模块,用于设置在RegionServer启动的时候预分配的空chunk占整个chunkPool的比例为0.0。
10.一种基于HBase的朱丽叶暂停优化设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述基于HBase的朱丽叶暂停优化方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910925968.8A CN110825660A (zh) | 2019-09-27 | 2019-09-27 | 一种基于HBase的朱丽叶暂停优化方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910925968.8A CN110825660A (zh) | 2019-09-27 | 2019-09-27 | 一种基于HBase的朱丽叶暂停优化方法、系统及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110825660A true CN110825660A (zh) | 2020-02-21 |
Family
ID=69548316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910925968.8A Pending CN110825660A (zh) | 2019-09-27 | 2019-09-27 | 一种基于HBase的朱丽叶暂停优化方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825660A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022021850A1 (zh) * | 2020-07-28 | 2022-02-03 | 苏州浪潮智能科技有限公司 | 一种服务实例部署方法、装置、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140317448A1 (en) * | 2013-04-23 | 2014-10-23 | Facebook, Inc. | Incremental checkpoints |
CN106611046A (zh) * | 2016-12-16 | 2017-05-03 | 武汉中地数码科技有限公司 | 基于大数据技术的空间数据存储处理中间件框架 |
-
2019
- 2019-09-27 CN CN201910925968.8A patent/CN110825660A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140317448A1 (en) * | 2013-04-23 | 2014-10-23 | Facebook, Inc. | Incremental checkpoints |
CN106611046A (zh) * | 2016-12-16 | 2017-05-03 | 武汉中地数码科技有限公司 | 基于大数据技术的空间数据存储处理中间件框架 |
Non-Patent Citations (1)
Title |
---|
杨曦: "《HBase不睡觉书》", 31 January 2018, 清华大学出版社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022021850A1 (zh) * | 2020-07-28 | 2022-02-03 | 苏州浪潮智能科技有限公司 | 一种服务实例部署方法、装置、电子设备和存储介质 |
US12020084B2 (en) | 2020-07-28 | 2024-06-25 | Inspur Suzhou Intelligent Technology Co., Ltd. | Service instance deployment method and apparatus, electronic device, and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107526546B (zh) | 一种Spark分布式计算数据处理方法及系统 | |
CN110147407B (zh) | 一种数据处理方法、装置及数据库管理服务器 | |
CN104504147B (zh) | 一种数据库集群的资源协调方法、装置及系统 | |
CN108900626B (zh) | 一种云环境下数据存储方法、装置及系统 | |
US10642817B2 (en) | Index table update method, and device | |
CN104111897A (zh) | 一种数据处理方法、装置及计算机系统 | |
WO2017050064A1 (zh) | 共享内存数据库的内存管理方法及装置 | |
CN111061431B (zh) | 一种分布式存储方法、服务器及客户端 | |
CN104219318A (zh) | 一种分布式文件存储系统及方法 | |
CN1869933A (zh) | 实现数据升级的计算机处理系统和数据升级方法 | |
CN110196818A (zh) | 缓存数据的方法、缓存设备和存储系统 | |
US10198180B2 (en) | Method and apparatus for managing storage device | |
CN103150122A (zh) | 一种磁盘缓存空间管理方法和装置 | |
CN114168490A (zh) | 确定内存回收阈值的方法及相关设备 | |
WO2023124423A1 (zh) | 一种存储空间分配方法、装置、终端设备及存储介质 | |
CN114443211A (zh) | 虚拟机热迁移方法、设备及存储介质 | |
US20230273939A1 (en) | Data processing method, apparatus and device for local storage engine system | |
CN104054076A (zh) | 数据存储方法、数据库存储节点故障处理方法及装置 | |
CN110825660A (zh) | 一种基于HBase的朱丽叶暂停优化方法、系统及设备 | |
CN110162395B (zh) | 一种内存分配的方法及装置 | |
CN102143206A (zh) | 集群存储系统中存储池的调整方法、装置及系统 | |
CN110825732A (zh) | 数据查询方法、装置、计算机设备和可读存储介质 | |
CN116382569A (zh) | 一种数据处理方法、装置、硬盘及介质 | |
US20230100110A1 (en) | Computing resource management method, electronic equipment and program product | |
CN111435302A (zh) | 一种应用程序的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200221 |