CN116909581B - HBase服务多实例的管理方法、装置、设备及存储介质 - Google Patents
HBase服务多实例的管理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116909581B CN116909581B CN202311162072.1A CN202311162072A CN116909581B CN 116909581 B CN116909581 B CN 116909581B CN 202311162072 A CN202311162072 A CN 202311162072A CN 116909581 B CN116909581 B CN 116909581B
- Authority
- CN
- China
- Prior art keywords
- hbase
- instance
- instances
- hbase service
- ports
- 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.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000006870 function Effects 0.000 claims description 29
- 238000012544 monitoring process Methods 0.000 claims description 17
- 238000013515 script Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 11
- 230000000007 visual effect Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008602 contraction Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种HBase服务多实例的管理方法、装置、设备及存储介质,涉及大数据技术领域,该方法包括:获取用户输入的第一信息,所述第一信息包括第一参数和/或用户期望创建的第一实例数目,所述第一参数用于指示是否开启单节点多实例功能;在所述第一参数指示开启单节点多实例功能和/或所述第一信息包括所述第一实例数目的情况下,根据节点设备的运行资源,计算所述节点设备能够启动的第二实例数目;根据所述第二实例数目和所述第一信息,在所述节点设备上创建多个HBase服务实例。如此,用户仅需要输入需要的信息,节点设备即可生成多实例,简化了多实例部署的过程,解决了现有的方式部署周期长且占用资源多的问题。
Description
技术领域
本申请涉及大数据技术领域,特别是指一种HBase服务多实例的管理方法、装置、设备及存储介质。
背景技术
海杜普数据库(Hadoop Database,HBase)是一种高可靠性、高性能、面向列、可伸缩的分布式存储系统。当前HBase多实例弹性扩缩容多是基于开源的应用容器引擎Docker进行部署的,这种部署方式存在环境部署周期长、搭建步骤繁琐易出错且占用资源较多的问题。
发明内容
本申请实施例提供一种HBase服务多实例的管理方法、装置、设备及存储介质,解决了现有的部署方式存在环境部署周期长、搭建步骤繁琐易出错且占用资源较多的问题。
第一方面,为达到上述目的,本申请的实施例提供一种HBase服务多实例的管理方法,包括:
获取用户输入的第一信息,所述第一信息包括第一参数和/或用户期望创建的第一实例数目,所述第一参数用于指示是否开启单节点多实例功能;
在所述第一参数指示开启单节点多实例功能和/或所述第一信息包括所述第一实例数目的情况下,根据节点设备的运行资源,计算所述节点设备能够启动的第二实例数目;
根据所述第二实例数目和所述第一信息,在所述节点设备上创建多个HBase服务实例。
可选地,根据节点设备的运行资源,计算所述节点设备能够启动的第二实例数目,包括:
获取所述节点设备的已使用运行资源量和用户预先设置的区域服务器的堆大小;
根据所述节点设备的总运行资源量、预留运行资源量和所述已使用运行资源量,确定所述节点设备的可用运行资源量;
根据所述可用运行资源量和所述堆大小,计算所述第二实例数目。
可选地,根据所述第二实例数目和所述第一信息,在所述节点设备上创建多个HBase服务实例,包括:
在所述第一信息包括所述第一实例数目,且所述第二实例数目大于或等于所述第一实例数目的情况下,或者,在所述第一信息仅包括用于指示开启单节点多实例功能的第一参数,且所述第二实例数目大于或等于预先配置的第三实例数目的情况下,在所述节点设备上创建多个HBase服务实例。
可选地,在所述节点设备上创建多个HBase服务实例,包括:
基于HBase的专有属性配置项的属性值的动态更新,为各个所述HBase服务实例匹配端口;
根据与各个所述HBase服务实例对应的端口号,确定各个所述HBase服务实例的名称;
根据各个所述HBase服务实例的名称及对应的端口号,生成各个所述HBase服务实例的配置模板文件;
根据所述配置模板文件,创建各个所述HBase服务实例。
可选地,基于HBase的专有属性配置项的属性值的动态更新,为各个所述HBase服务实例匹配端口,包括:
根据HBase区域服务器的专有属性配置项的属性值,生成与HBase服务实例相关的两个端口,其中,两个所述端口的端口号与所述属性值相关;
通过运行脚本,检测所述两个端口是否可用;
在所述两个端口可用的情况下,将所述两个端口与一个所述HBase服务实例匹配,对所述属性值进行动态更新,并返回至根据HBase区域服务器的专有属性配置项的属性值,生成与HBase服务实例相关的两个端口的步骤,直至为各个所述HBase服务实例匹配到端口;
在所述两个端口不可用的情况下,对所述属性值进行动态更新,并返回至根据HBase区域服务器的专有属性配置项的属性值,生成与HBase服务实例相关的两个端口的步骤,直至为各个所述HBase服务实例匹配到端口。
可选地,所述方法还包括:
在所述第一信息包括所述第一实例数目,且所述第一实例数目大于所述第二实例数目的情况下,显示提醒信息,所述提醒信息包括所述第一实例数目不合规及所述第一实例数目不合规的原因。
可选地,在根据所述第二实例数目和所述第一信息,在所述节点设备上创建多个HBase服务实例之后,所述方法还包括:
显示监控页面,所述监控页面包括中央处理器CPU信息、内存信息、已部署的HBase服务实例与端口的对应关系中的至少一项,以及,对所述HBase服务实例的操作选项。
可选地,所述方法还包括:
监测所述节点设备的运行资源;
在所述节点设备上部署的HBase服务实例对应的运行资源在第一时长内不满足预设条件的情况下,根据监测到的所述运行资源和所述节点设备的端口信息,创建至少一个HBase服务实例。
第二方面,为达到上述目的,本申请的实施例提供一种HBase服务多实例的管理装置,包括:
获取模块,用于获取用户输入的第一信息,所述第一信息包括第一参数和/或用户期望创建的第一实例数目,所述第一参数用于指示是否开启单节点多实例功能;
计算模块,用于在所述第一参数指示开启单节点多实例功能和/或所述第一信息包括所述第一实例数目的情况下,根据节点设备的运行资源,计算所述节点设备能够启动的第二实例数目;
第一创建模块,用于根据所述第二实例数目和所述第一信息,在所述节点设备上创建多个HBase服务实例。
第三方面,为达到上述目的,本申请的实施例提供一种HBase服务多实例的管理设备,包括收发机、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器执行所述程序时实现如第一方面所述的HBase服务多实例的管理方法。
第四方面,为达到上述目的,本申请的实施例提供一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的HBase服务多实例的管理方法。
本申请的上述技术方案的有益效果如下:
本申请的实施例的HBase服务多实例的管理方法,首先,获取用户输入的第一信息,所述第一信息包括第一参数和/或用户期望创建的第一实例数目,所述第一参数用于指示是否开启单节点多实例功能;其次,在所述第一参数指示开启单节点多实例功能和/或所述第一信息包括所述第一实例数目的情况下,根据节点设备的运行资源,计算所述节点设备能够启动的第二实例数目;最后,根据所述第二实例数目和所述第一信息,在所述节点设备上创建多个HBase服务实例。如此,用户仅需要输入需要的信息,HBase服务多实例的管理设备即可完成单节点多实例部署,简化了多实例部署的步骤,相对于现有的基于Docker进行HBase多实例的弹性扩缩容的方式,本申请实施例的环境部署周期短、搭建步骤简便不易出错,且占用资源较少。
附图说明
图1为本申请实施例的HBase服务多实例的管理方法的流程示意图之一;
图2为本申请实施例的HBase服务多实例的管理方法的流程示意图之二;
图3为应用本申请实施例的HBase服务多实例的管理方法部署多实例的系统资源示意图;
图4为本申请实施例的HBase服务多实例的管理装置的结构示意图;
图5为本申请实施例的HBase服务多实例的管理设备的结构示意图。
具体实施方式
为使本申请要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本申请的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常可互换使用。
在本申请所提供的实施例中,应理解,“与A 相应的B”表示B 与A 相关联,根据A可以确定B。但还应理解,根据A 确定B 并不意味着仅仅根据A 确定B,还可以根据A 和/或其它信息确定B。
下面,结合附图,对本申请实施例的HBase服务多实例的管理方法、装置、设备及存储介质进行详细说明。
如图1所示,本申请实施例提供一种HBase服务多实例的管理方法,包括:
步骤101,获取用户输入的第一信息,该第一信息包括第一参数和/或用户期望创建的第一实例数目,该第一参数用于指示是否开启单节点多实例功能;
这里,需要说明的是,本步骤中,用户可以在HBase服务多实例的管理设备的可视化界面上输入该第一信息,例如,该可视化界面上设置有单节点多实例功能启动按钮或启动选项,若用户单击该启动按钮或勾选该启动选项,则表明用户期望开启单节点多实例功能;该可视化界面上还可以设置用于输入实例数目的文本框或可选择实例数目的标签项等,用户通过输入或选择的方式,写入期望在单节点上部署的实例数目。例如,该第一参数可以用is_multiply_regionserver表示,该第一实例数目可以用region_num表示。
步骤102,在第一参数指示开启单节点多实例功能和/或第一信息包括所述第一实例数目的情况下,根据节点设备的运行资源,计算节点设备能够启动的第二实例数目;
也就是说,在根据用户输入的第一信息确定用户期望在单节点上部署多实例时,根据节点设备的运行资源,确定节点设备能够支持部署的实例数目。其中,在用户在可视化界面上选择开启单节点多实例功能,和/或者,用户在可视化界面上输入或选择期望建立的第一实例数目后,确定用户期望在单节点上部署多实例。
这里,需要说明的是,本步骤中的运行资源例如包括中央处理器(CentralProcessing Unit,CPU)、内存等。
步骤103,根据第二实例数目和第一信息,在节点设备上创建多个HBase服务实例。本步骤基于第一信息和基于节点设备的运行资源确定的第二实例数目,创建HBase服务实例,避免了用户输入不合理实例数目造成服务无法使用的困境,提升了服务的稳定性。
本申请实施例的HBase服务多实例的管理方法,首先,获取用户输入的第一信息,该第一信息包括第一参数和/或用户期望创建的第一实例数目,该第一参数用于指示是否开启单节点多实例功能;其次,在第一参数指示开启单节点多实例功能和/或第一信息包括所述第一实例数目的情况下,根据节点设备的运行资源,计算节点设备能够启动的第二实例数目;最后,根据第二实例数目和第一信息,在节点设备上创建多个HBase服务实例。如此,实现了用户仅需在可视化界面上输入是否开启单节点多实例功能,和/或,输入用户期望在单节点上部署的实例数目,HBase服务多实例的管理设备即可在单节点上完成多实例的部署,简化了多实例部署的步骤,相对于现有的基于Docker进行HBase多实例的弹性扩缩容的方式,缩短了环境部署周期、环境搭建步骤简便不易出错,且建立的环境占用资源较少。另外,在部署实例之后,还可以在显示界面显示部署的所有实例的实例名称及部署的实例总个数等。
作为一个可选的实现方式,步骤102,根据节点设备的运行资源,计算节点设备能够启动的第二实例数目,包括:
获取节点设备的已使用运行资源量和用户预先设置的区域服务器的堆大小;具体的,本步骤可以通过命令的方式获取该已使用运行资源量,例如,通过操作系统自有动态计算内存资源free方式,获取单节点的当前内存。其中,这里的free是linux命令,用于查看当前系统内存的使用情况。另外,本步骤中的堆大小可以为用户预先设置的各区域服务器(Regionserver)的堆大小。
根据节点设备的总运行资源量、预留运行资源量和已使用运行资源量,确定节点设备的可用运行资源量;具体的,该可用运行资源量为总运行资源量与预留运行资源量和已使用运行资源量的差值,即:可用运行资源量=总运行资源量-预留运行资源量-已使用运行资源量。其中,预留运行资源量可以由用户自行设定,例如,预留运行资源量默认为10G;具体的,预留运行资源量为系统用于其它进程使用的运行资源量。
根据可用运行资源量和堆大小,计算第一实例数目。具体的,本步骤的实现过程为:首先,对可用运行资源量和对大小取商,即可用运行资源量除以堆大小;其次,若计算得到的商值为整数,则该第一实例数目为该商值;若计算得到的商值不是整数,则对该商值向下取整,以得到该第一实例数目。其中,向下取整的目的是确保进程不被操作系统释放掉。
作为一个可选的实现方式,步骤103,根据第二实例数目和第一信息,在节点设备上创建多个HBase服务实例,包括:
在第一信息包括第一实例数目,且第二实例数目大于或等于第一实例数目的情况下,或者,在第一信息不包括第一实例数目,且第二实例数目大于或等于预先配置的第三实例数目的情况下,在节点设备上创建多个HBase服务实例。
也就是说,本可选的实现方式中,基于第一信息包括的内容,分两种情况进行多实例的创建。具体的,情况一:第一信息包括第一实例数目(即用户输入了期望部署的实例数目)时,HBase服务多实例的管理设备判断节点设备能够创建的实例数目(第二实例数目)是否大于或等于用户期望创建的第一实例数目,若是,则在节点设备上创建用户期望的第一实例数目的HBase服务实例。其中,本种情况下,第一信息包括第一实例数目具体有如下两种场景:场景一:第一信息仅包括第一实例数目,场景二:第一信息包括指示开启单节点多实例功能的第一参数和第一实例数目。情况二:第一信息仅包括指示开启单节点多实例功能的第一参数(此种情况下,默认用户期望部署默认实例数目(预先配置的第三实例数目)的HBase服务实例)时,HBase服务多实例的管理设备判断节点设备能够创建的实例数目(第二实例数目)是否大于或等于第三实例数目,若是,则在节点设备上创建第三实例数目的HBase服务实例。
作为一个具体的实现方式,在节点设备上创建多个HBase服务实例,包括:
基于HBase的专有属性配置项的属性值的动态更新,为各个HBase服务实例匹配端口;本步骤中,HBase的专有属性配置项包括:HBase.regionserver.port、HBase.regionserver.info.port。由于本步骤是基于专有属性配置项的属性值动态生成端口,避免了端口被频繁占用,减少了网络暴露面的增多,使得网络策略的开通更加精确。
根据与各个HBase服务实例对应的端口号,确定各个HBase服务实例的名称;也就是说,各HBase服务实例的名称与该HBase服务实例对应的端口号相关联,例如,端口号为port1时,HBase服务实例名称为RegionServer port1进程。如此,实现了采用端口对服务组间实例名称加以区分,方便用户能够快速定位识别异常端口并进行处理。也就是说,能够基于对端口的监控,对各HBase服务实例进行管理,这样,能够避免在某个端口实例挂掉后,用户无感知造成服务宕机,进而引发重大生产故障等问题。
根据各个HBase服务实例的名称及对应的端口号,生成各个HBase服务实例的配置模板文件;这里,该配置模板文件包括括HBase服务实例的名称、端口号及对应的Regionserver组件、日志文件等。
根据配置模板文件,创建各个HBase服务实例。其中,创建多个HBase服务实例后,节点设备的系统资源如图3所示。
本具体的实现方式中,基于HBase服务实例对应的端口号确定HBase服务实例名称,使得HBase服务实例的名称与相应的端口号关联,解决了用户无法有效区分、监控组件端口的问题。另外,通过新增多实例管控模板,通过该模板文件跟页面可视化操作结合起来,可动态生成多实例组件,用户根据机器实际配置情况,可分组进行多实例的创建、修改等操作。
作为一个更具体的实现方式,基于HBase的专有属性配置项的属性值的动态更新,为各个HBase服务实例匹配端口,包括:
根据HBase区域服务器的专有属性配置项的属性值,生成与HBase服务实例相关的两个端口,其中,两个端口的端口号与属性值相关;
通过运行脚本,检测所述两个端口是否可用;具体的,本步骤是通过运行脚本对根据专有属性配置项的属性值将用户实例在两个port的可用端口进行检测,检测方式用于判断端口是否被占用,进而动态更新。另外,在执行本步骤时,后台会将初始化时间跟端口变化记录到文件中,如此,可以避免端口被频繁占用。
在两个端口可用的情况下,将两个端口与一个HBase服务实例匹配,对属性值进行动态更新,并返回至根据HBase区域服务器的专有属性配置项的属性值,生成与HBase服务实例相关的两个端口的步骤,直至为各个HBase服务实例匹配到端口;也就是说,在检测到生成的该两个端口可用时,则该两个端口与一个HBase服务实例对应;此时,进一步更新该属性值,以为下一个HBase服务实例配置端口。这里,属性值动态更新例如为属性值自增,具体的,属性值每次自增1。
在两个端口不可用的情况下,对属性值进行动态更新,并返回至根据HBase区域服务器的专有属性配置项的属性值,生成与HBase服务实例相关的两个端口的步骤,直至为各个HBase服务实例匹配到端口;也就是说,在检测到生成的两个端口不可用(例如已被占用),则放弃生成的该两个端口,并通过更新属性值再次生成两个端口。
进一步地,作为一个可选的实现方式,该方法还包括:
在第一信息包括第一实例数目,且第一实例数目大于第二实例数目的情况下,显示提醒信息,该提醒信息包括第一实例数目不合规及第一实例数目不合规的原因。
也就是说,在第一实例数目大于第二实例数目时,表明节点设备当前可用的运行资源不能满足用户部署HBase服务实例的需求,此时,需要通过可视化界面告知用户,以由用户确定是否继续部署多个HBase服务实例,例如,若用户需要继续部署多个HBase服务实例,则用户需要调整期望部署的实例数目。其中,不合规的原因为可用运行资源量不足,例如内存不足等。
作为一个可选的实现方式,步骤103,在根据第二实例数目和第一信息,在节点设备上创建多个HBase服务实例之后,该方法还包括:
显示监控页面,该监控页面包括CPU信息、内存信息、已部署的HBase服务实例与端口的对应关系中的至少一项,以及,对HBase服务实例的操作选项。
本可选实现方式中,CPU信息、内存信息等具体可以是每个HBase占用的CPU、内存等;对HBase服务实例的操作选项例如包括对各HBase服务实例对应的Regionserver组件的启停等。
本可选实现方式,通过显示监控页面,能够让用户直观的观察到各HBase服务实例的运行情况,以便于对各HBase服务实例进行监控管理,减少了由于HBase服务实例异常而用户无感知的情况的发生;另外,用户还可以根据显示界面显示的内容,分组进行多实例的创建、修改等操作。
进一步地,作为一个可选的实现方式,该方法还包括:
监测节点设备的运行资源;具体的,本步骤可以是基于后端定时脚本监测节点设备的运行资源(CPU、内存)的使用情况。
在节点设备上部署的HBase服务实例对应的运行资源在第一时长内不满足预设条件的情况下,根据监测到的运行资源和节点设备的端口信息,创建至少一个HBase服务实例。其中,若已创建的HBase服务实例的实例名称为REGIONSERVER_16001,则新创建的一个HBase服务实时,该服务实例对应的端口设置为16002跟16022,该服务实例的名称为REGIONSERVER_16001,具体的,例如,在部署的HBase服务实例对应的运行资源量在30分钟内低于节点设备的运行资源量的30%,以及,节点设备剩余的可用运行资源量大于一个HBase服务实例对应的运行资源量时,可以再创建至少一个HBase服务实例,其中,再创建的HBase服务实例的数量可以基于节点设备当前可用运行资源量和各HBase服务实例需要的运行资源量确定。
下面,结合图2对本申请实施例的HBase服务多实例的管理方法的一个具体示例的实现过程进行说明:
步骤201,用户输入期望的第一实例数目。
步骤202,基于模型匹配算法计算实例数目,判断第一实例数目合规与否;若合规,则执行步骤203,若不合规,则执行步骤204;
具体的,本步骤中基于模型匹配算法计算实例数目是指基于模型匹配算法计算节点设备的运行资源允许部署的实例数目(如前所述的第二实例数目),在第一实例数目大于第二实例数目时,确定第一实例数目不合规,在第一实例数目小于或等于第二实例数目时,确定第一实例数目合规。其中,模型匹配算法为如前所述的根据节点设备的总运行资源量、预留运行资源量、已使用运行资源量和堆大小,计算第二实例数目。
步骤203,获取属性进行匹配计算,生成配置模板;
具体的,本步骤中的属性是指前述HBase专有配置项的属性值,因此,本步骤具体为:针对HBase专有配置项hbase.regionserver.port、hbase.regionserver.info.port两个属性进行动态化调整,由于属于集群内策略,故在处理时会通过脚本hbase.regionserver.port和hbase.regionserver.info.port将用户实例在2个port可用端口进行检测,检测方式用于判断端口是否被占用,进而动态更新,同时后台有文件记录初始化时间跟端口变化,可用于避免端口频繁被占用导致端口数目的减少。根据用户设定的实例个数,将属性值进行特定匹配更新,从2个方向:进程方向、配置文件方向作为多实例的区分,从而实现多实例的端口可视化以及实例配置文件动态更新功能。
步骤204,提醒用户并告知原因。
步骤205,判断用户是否同意修改第一实例数目,若同意,则返回步骤201,若不同意,则结束。
本申请实施例的HBase服务多实例的管理方法,一方面,基于操作系统本身CPU和内存资源,根据传统物理机预备10%资源给操作系统,通过操作系统自有动态计算内存资源free方式,获取单节点当前内存,且根据用户设置的Regionserver的堆大小,动态生成实例数目,这样,避免了用户输入不合理造成服务无法使用的困境,提升了服务的稳定性;另一方面,基于动态生成的实例数目和初始双端口,通过自增的方式生成实例的端口,便于自动化管理网络策略,减轻了网络策略开通过多造成的暴露面过多的问题。再一方面,各实例名称通过端口化方式进行固化,解决了用户无法有效区分、监控组件端口的问题。还有,本申请实施例充分利用了物理机已有计算资源跟存储资源,在日志、存储等方面充分利用操作系统固有资源。在物理机性能未能充分利用的基础上,本申请实施例保持了原系统架构不便,任何涉及到端口动态变化需要多实例管理的场景均可采用本实施例的方案,因此本方案还具有通用性。另外,本申请实施例支持用户自主输入实例数目,并对用户数据做出友好提示。后期如涉及版本升级/回滚,则用户在进行操作时,系统会给予提示;由于本申请实施例是基于端口进行的动态操作,对于原生jar包不进行动态变更,故后期版本升级/回滚,均不对模型产生影响,定时脚本能够保障单节点实例在动态调整的基础上可以稳定运行,用户基本无感知。
如图4所示,本申请实施例还提供一种HBase服务多实例的管理装置,包括:
获取模块401,用于获取用户输入的第一信息,所述第一信息包括第一参数和/或用户期望创建的第一实例数目,所述第一参数用于指示是否开启单节点多实例功能;
计算模块402,用于在所述第一参数指示开启单节点多实例功能和/或所述第一信息包括所述第一实例数目的情况下,根据节点设备的运行资源,计算所述节点设备能够启动的第二实例数目;
第一创建模块403,用于根据所述第二实例数目和所述第一信息,在所述节点设备上创建多个HBase服务实例。
可选地,所述计算模块402包括:
获取子模块,用于获取所述节点设备的已使用运行资源量和用户预先设置的区域服务器的堆大小;
第一确定子模块,用于根据所述节点设备的总运行资源量、预留运行资源量和所述已使用运行资源量,确定所述节点设备的可用运行资源量;
计算子模块,用于根据所述可用运行资源量和所述堆大小,计算所述第二实例数目。
可选地,所述第一创建模块403具体用于在所述第一信息包括所述第一实例数目,且所述第二实例数目大于或等于所述第一实例数目的情况下,或者,在所述第一信息仅包括用于指示开启单节点多实例功能的第一参数,且所述第二实例数目大于或等于预先配置的第三实例数目的情况下,在所述节点设备上创建多个HBase服务实例。
可选地,所述第一创建模块403包括:
匹配子模块,用于基于HBase的专有属性配置项的属性值的动态更新,为各个所述HBase服务实例匹配端口;
第二确定子模块,用于根据与各个所述HBase服务实例对应的端口号,确定各个所述HBase服务实例的名称;
生成子模块,用于根据各个所述HBase服务实例的名称及对应的端口号,生成各个所述HBase服务实例的配置模板文件;
第一创建子模块,用于根据所述配置模板文件,创建各个所述HBase服务实例。
可选地,所述匹配子模块包括:
生成单元,用于根据HBase区域服务器的专有属性配置项的属性值,生成与HBase服务实例相关的两个端口,其中,两个所述端口的端口号与所述属性值相关;
运行单元,用于通过运行脚本,检测所述两个端口是否可用;
第一处理单元,用于在所述两个端口可用的情况下,将所述两个端口与一个所述HBase服务实例匹配,对所述属性值进行动态更新,并返回至根据HBase区域服务器的专有属性配置项的属性值,生成与HBase服务实例相关的两个端口的步骤,直至为各个所述HBase服务实例匹配到端口;
第二处理单元,用于在所述两个端口不可用的情况下,对所述属性值进行动态更新,并返回至根据HBase区域服务器的专有属性配置项的属性值,生成与HBase服务实例相关的两个端口的步骤,直至为各个所述HBase服务实例匹配到端口。
进一步地,所述装置还包括:
第一显示模块,用于在所述第一信息包括所述第一实例数目,且所述第一实例数目大于所述第二实例数目的情况下,显示提醒信息,所述提醒信息包括所述第一实例数目不合规及所述第一实例数目不合规的原因。
进一步地,所述装置还包括:
第二显示模块,用于显示监控页面,所述监控页面包括中央处理器CPU信息、内存信息、已部署的HBase服务实例与端口的对应关系中的至少一项,以及,对所述HBase服务实例的操作选项。
进一步地,所述装置还包括:
监测模块,用于监测所述节点设备的运行资源;
第二创建模块,用于在所述节点设备上部署的HBase服务实例对应的运行资源在第一时长内不满足预设条件的情况下,根据监测到的所述运行资源和所述节点设备的端口信息,创建至少一个HBase服务实例。
在此需要说明的是,本申请实施例提供的上述HBase服务多实例的管理装置,能够实现上述HBase服务多实例的管理装置方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
如图5所示,本申请实施例还提供一种HBase服务多实例的管理设备,包括收发机510、处理器500、存储器520及存储在所述存储器520上并可在所述处理器500上运行的程序或指令;所述处理器500执行所述程序或指令时实现上述HBase服务多实例的管理方法。
所述收发机510,用于在处理器500的控制下接收和发送数据。
其中,在图5中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器500代表的一个或多个处理器和存储器520代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机510可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的设备,用户接口530还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器500负责管理总线架构和通常的处理,存储器520可以存储处理器500在执行操作时所使用的数据。
本申请实施例的一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的HBase服务多实例的管理方法中的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
进一步需要说明的是,此说明书中所描述的电子设备包括但不限于智能手机、平板电脑等,且所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
本申请实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本申请精神及教示,因此,本申请不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本申请会是完善又完整,且会将本申请范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。
以上所述是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (9)
1.一种HBase服务多实例的管理方法,其特征在于,包括:
获取用户输入的第一信息,所述第一信息包括第一参数和/或用户期望创建的第一实例数目,所述第一参数用于指示是否开启单节点多实例功能;
在所述第一参数指示开启单节点多实例功能和/或所述第一信息包括所述第一实例数目的情况下,根据节点设备的运行资源,计算所述节点设备能够启动的第二实例数目;
根据所述第二实例数目和所述第一信息,在所述节点设备上创建多个HBase服务实例;
其中,在所述节点设备上创建多个HBase服务实例,包括:
基于HBase的专有属性配置项的属性值的动态更新,为各个所述HBase服务实例匹配端口;
根据与各个所述HBase服务实例对应的端口号,确定各个所述HBase服务实例的名称;
根据各个所述HBase服务实例的名称及对应的端口号,生成各个所述HBase服务实例的配置模板文件;
根据所述配置模板文件,创建各个所述HBase服务实例;
其中,基于HBase的专有属性配置项的属性值的动态更新,为各个所述HBase服务实例匹配端口,包括:
根据HBase区域服务器的专有属性配置项的属性值,生成与HBase服务实例相关的两个端口,其中,两个所述端口的端口号与所述属性值相关;
通过运行脚本,检测所述两个端口是否可用;
在所述两个端口可用的情况下,将所述两个端口与一个所述HBase服务实例匹配,对所述属性值进行动态更新,并返回至根据HBase区域服务器的专有属性配置项的属性值,生成与HBase服务实例相关的两个端口的步骤,直至为各个所述HBase服务实例匹配到端口;
在所述两个端口不可用的情况下,对所述属性值进行动态更新,并返回至根据HBase区域服务器的专有属性配置项的属性值,生成与HBase服务实例相关的两个端口的步骤,直至为各个所述HBase服务实例匹配到端口。
2.根据权利要求1所述的方法,其特征在于,根据节点设备的运行资源,计算所述节点设备能够启动的第二实例数目,包括:
获取所述节点设备的已使用运行资源量和用户预先设置的区域服务器的堆大小;
根据所述节点设备的总运行资源量、预留运行资源量和所述已使用运行资源量,确定所述节点设备的可用运行资源量;
根据所述可用运行资源量和所述堆大小,计算所述第二实例数目。
3.根据权利要求1所述的方法,其特征在于,根据所述第二实例数目和所述第一信息,在所述节点设备上创建多个HBase服务实例,包括:
在所述第一信息包括所述第一实例数目,且所述第二实例数目大于或等于所述第一实例数目的情况下,或者,在所述第一信息仅包括用于指示开启单节点多实例功能的第一参数,且所述第二实例数目大于或等于预先配置的第三实例数目的情况下,在所述节点设备上创建多个HBase服务实例。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述第一信息包括所述第一实例数目,且所述第一实例数目大于所述第二实例数目的情况下,显示提醒信息,所述提醒信息包括所述第一实例数目不合规及所述第一实例数目不合规的原因。
5.根据权利要求1所述的方法,其特征在于,在根据所述第二实例数目和所述第一信息,在所述节点设备上创建多个HBase服务实例之后,所述方法还包括:
显示监控页面,所述监控页面包括中央处理器CPU信息、内存信息、已部署的HBase服务实例与端口的对应关系中的至少一项,以及,对所述HBase服务实例的操作选项。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监测所述节点设备的运行资源;
在所述节点设备上部署的HBase服务实例对应的运行资源在第一时长内不满足预设条件的情况下,根据监测到的所述运行资源和所述节点设备的端口信息,创建至少一个HBase服务实例。
7.一种HBase服务多实例的管理装置,其特征在于,包括:
获取模块,用于获取用户输入的第一信息,所述第一信息包括第一参数和/或用户期望创建的第一实例数目,所述第一参数用于指示是否开启单节点多实例功能;
计算模块,用于在所述第一参数指示开启单节点多实例功能和/或所述第一信息包括所述第一实例数目的情况下,根据节点设备的运行资源,计算所述节点设备能够启动的第二实例数目;
第一创建模块,用于根据所述第二实例数目和所述第一信息,在所述节点设备上创建多个HBase服务实例;
其中,所述第一创建模块包括:匹配子模块,用于基于HBase的专有属性配置项的属性值的动态更新,为各个所述HBase服务实例匹配端口;
第二确定子模块,用于根据与各个所述HBase服务实例对应的端口号,确定各个所述HBase服务实例的名称;
生成子模块,用于根据各个所述HBase服务实例的名称及对应的端口号,生成各个所述HBase服务实例的配置模板文件;
第一创建子模块,用于根据所述配置模板文件,创建各个所述HBase服务实例;
其中,所述匹配子模块包括:
生成单元,用于根据HBase区域服务器的专有属性配置项的属性值,生成与HBase服务实例相关的两个端口,其中,两个所述端口的端口号与所述属性值相关;
运行单元,用于通过运行脚本,检测所述两个端口是否可用;
第一处理单元,用于在所述两个端口可用的情况下,将所述两个端口与一个所述HBase服务实例匹配,对所述属性值进行动态更新,并返回至根据HBase区域服务器的专有属性配置项的属性值,生成与HBase服务实例相关的两个端口的步骤,直至为各个所述HBase服务实例匹配到端口;
第二处理单元,用于在所述两个端口不可用的情况下,对所述属性值进行动态更新,并返回至根据HBase区域服务器的专有属性配置项的属性值,生成与HBase服务实例相关的两个端口的步骤,直至为各个所述HBase服务实例匹配到端口。
8.一种HBase服务多实例的管理设备,包括收发机、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序;其特征在于,所述处理器执行所述程序时实现如权利要求1至6中任一项所述的HBase服务多实例的管理方法。
9.一种可读存储介质,其上存储有程序或指令,其特征在于,所述程序或指令被处理器执行时实现如权利要求1至6中任一项所述的HBase服务多实例的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311162072.1A CN116909581B (zh) | 2023-09-11 | 2023-09-11 | HBase服务多实例的管理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311162072.1A CN116909581B (zh) | 2023-09-11 | 2023-09-11 | HBase服务多实例的管理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116909581A CN116909581A (zh) | 2023-10-20 |
CN116909581B true CN116909581B (zh) | 2024-01-26 |
Family
ID=88356839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311162072.1A Active CN116909581B (zh) | 2023-09-11 | 2023-09-11 | HBase服务多实例的管理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116909581B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542611A (zh) * | 2017-09-21 | 2019-03-29 | 中国移动通信集团重庆有限公司 | 数据库即服务系统、数据库调度方法、设备及存储介质 |
CN110389766A (zh) * | 2019-06-21 | 2019-10-29 | 深圳市汇川技术股份有限公司 | HBase容器集群部署方法、系统、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10581705B2 (en) * | 2017-07-04 | 2020-03-03 | Vmware, Inc. | Smart service catalogs based deployment of applications |
-
2023
- 2023-09-11 CN CN202311162072.1A patent/CN116909581B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542611A (zh) * | 2017-09-21 | 2019-03-29 | 中国移动通信集团重庆有限公司 | 数据库即服务系统、数据库调度方法、设备及存储介质 |
CN110389766A (zh) * | 2019-06-21 | 2019-10-29 | 深圳市汇川技术股份有限公司 | HBase容器集群部署方法、系统、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116909581A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107896162B (zh) | 监控系统的部署方法、装置、计算机设备及存储介质 | |
US11528186B2 (en) | Automated initialization of bare metal servers | |
CN111831191A (zh) | 工作流配置方法、装置、计算机设备和存储介质 | |
CN115061717A (zh) | 应用管理方法、应用订阅方法及相关设备 | |
WO2024130997A1 (zh) | 一种节点配置方法、装置、设备、非易失性可读存储介质及服务器 | |
CN112214227A (zh) | 一种边缘服务器镜像定制化及部署系统和方法 | |
US20100312541A1 (en) | Program test device and program | |
WO2023098052A1 (zh) | 一种服务器运维方法、装置、设备及存储介质 | |
CN116257438A (zh) | 接口测试用例的更新方法及相关设备 | |
CN113448678A (zh) | 应用信息生成方法、部署方法及装置、系统、存储介质 | |
CN107273178B (zh) | 配置虚拟化系统的方法和装置 | |
CN110764864A (zh) | 一种基于Terraform的可视化资源编排方法 | |
CN116909581B (zh) | HBase服务多实例的管理方法、装置、设备及存储介质 | |
US11539612B2 (en) | Testing virtualized network functions | |
CN117041111A (zh) | 车云功能测试方法、装置、电子设备及存储介质 | |
CN112817922B (zh) | 日志动态打印方法、装置、计算机设备及存储介质 | |
CN114610443A (zh) | 一种基于k8s容器集群的多服务部署方法、装置及电子设备 | |
CN111858234A (zh) | 一种任务执行方法、装置、设备、介质 | |
CN113326052A (zh) | 业务组件的升级方法、装置、计算机设备和存储介质 | |
CN111813621A (zh) | 基于Flume数据中台的数据处理方法、装置、设备及介质 | |
CN114201240B (zh) | 配置helm chart的方法和装置 | |
CN118245330B (zh) | 一种航天测运控状态监控方法、装置、设备及存储介质 | |
CN116132289B (zh) | 信息配置方法、装置、设备和介质 | |
US20240338209A1 (en) | Software life-cycle component management system | |
CN116719820A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |