CN110347654B - 一种上线集群特性的方法和装置 - Google Patents
一种上线集群特性的方法和装置 Download PDFInfo
- Publication number
- CN110347654B CN110347654B CN201810245027.5A CN201810245027A CN110347654B CN 110347654 B CN110347654 B CN 110347654B CN 201810245027 A CN201810245027 A CN 201810245027A CN 110347654 B CN110347654 B CN 110347654B
- Authority
- CN
- China
- Prior art keywords
- online
- characteristic
- group
- node
- grouping
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000004590 computer program Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000005096 rolling process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种上线集群特性的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:基于分组特性,将待上线特性分组中的表移动到临时分组中;重启配置有特性的主服务和所述待上线特性分组内的节点服务;将所述表从临时分组中移回至所述待上线特性分组中。该实施方式能够解决上线特性过程中需要停止业务应用或者上线时间过长的问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种上线集群特性的方法和装置。
背景技术
由于数据量增长、大数据普及,越来越多的业务***选择使用非关系型数据库(例如HBase,一个分布式的、面向列的开源数据库)提供服务。为了更好的提供服务,研发人员便基于社区提供的HBase版本开发一些更适用于自己业务需求的新特性。现有的上线方案大体有两种:一种是平滑滚动重启HBase,另一种是直接重启HBase。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:平滑滚动重启过程中移动Region所需时间与Region数有关,Region数又与集群数据量有关,集群数据量越大,那么上线的时长就会越长,导致运维效率低下;直接重启HBase,相对于平滑滚动重启在时间上会缩短很多,但是需要业务应用停止读写,因此无法满足集群高可用的要求,会对线上业务的使用产生很大影响。
发明内容
有鉴于此,本发明实施例提供一种上线集群特性的方法和装置,能够解决上线特性过程中需要停止业务应用或者上线时间过长的问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种上线集群特性的方法,包括:
基于分组特性,将待上线特性分组中的表移动到临时分组中;
重启配置有特性的主服务和所述待上线特性分组内的节点服务;
将所述表从临时分组中移回至所述待上线特性分组中。
可选地,所述集群为HBase集群,所述分组特性为RSgroup特性。
可选地,基于分组特性,将待上线特性分组内的表移动到临时分组中,包括:
获取待上线特性分组中的表信息和节点服务器信息;
将所述表信息和节点服务器信息分别存放到对应的列表文件中;
基于分组特性,将待上线特性分组中的表移动到临时分组中;
并且,所述将所述表从临时分组中移回至所述待上线特性分组中,以实现特性上线,包括:
基于所述表信息和节点服务器信息,将所述表从临时分组中移回至所述待上线特性分组中,以实现特性上线。
可选地,所述表包括业务表和***表,所述表包括业务表和***表;和/或,所述表信息包括表名称;和/或,所述节点服务器信息包括节点服务器的ID;和/或,所述列表文件存放于主服务器上。
可选地,重启配置有特性的主服务和所述待上线特性分组内的节点服务,包括:
将特性配置文件和类文件分发到主服务器和所述待上线特性分组内的节点服务器上;
直接并行重启待上线特性分组内的节点服务;
重启主服务。
可选地,将特性配置文件和类文件分发到主服务器和所述待上线特性分组内的节点服务器上,包括:
获取特性的配置信息,并将所述特性的配置信息提交到配置管理工具上,生成特性配置文件;
将主服务器对应的特性配置文件、节点服务器对应的特性配置文件分别分发到主服务器和所述待上线特性分组内的节点服务器上;同时,将类文件分发到主服务器和所述待上线特性分组内的节点服务器上。
另外,根据本发明实施例的另一个方面,提供了一种上线集群特性的装置,包括:
移动模块,用于基于分组特性,将待上线特性分组中的表移动到临时分组中;
重启模块,用于重启配置有特性的主服务和所述待上线特性分组内的节点服务;
移回模块,用于将所述表从临时分组中移回至所述待上线特性分组中。
可选地,所述集群为HBase集群,所述分组特性为RSgroup特性。
可选地,所述移动模块用于:
获取待上线特性分组中的表信息和节点服务器信息;
将所述表信息和节点服务器信息分别存放到对应的列表文件中;
基于分组特性,将待上线特性分组中的表移动到临时分组中;
并且,所述移回模块用于:
基于所述表信息和节点服务器信息,将所述表从临时分组中移回至所述待上线特性分组中,以实现特性上线。
可选地,所述表包括业务表和***表;和/或,所述表信息包括表名称;和/或,所述节点服务器信息包括节点服务器的ID;和/或,所述列表文件存放于主服务器上
可选地,所述重启模块包括:
分发模块,用于将特性配置文件和类文件分发到主服务器和所述待上线特性分组内的节点服务器上;
第一重启模块,用于直接并行重启待上线特性分组内的节点服务;
第二重启模块,用于重启主服务。
可选地,所述分发模块用于:
获取特性的配置信息,并将所述特性的配置信息提交到配置管理工具上,生成特性配置文件;
将主服务器对应的特性配置文件、节点服务器对应的特性配置文件分别分发到主服务器和所述待上线特性分组内的节点服务器上;同时,将类文件分发到主服务器和所述待上线特性分组内的节点服务器上。
根据本发明实施例的另一个方面,还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用基于分组特性,将待上线特性分组内的表移动到临时分组中的技术手段,所以克服了上线特性过程中需要停止业务应用或者上线时间过长的技术问题,本发明是基于分组特性,将待上线特性分组内的表移动到临时分组中,然后重启主服务和节点服务,从而在特性上线过程中不需要停止业务应用;而且通过并行重启待上线特性分组内的节点服务,缩短上线时间,提高上线效率,从而实现高效地上线集群的特性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的上线集群特性的方法的主要流程的示意图;
图2是根据本发明一个可参考实施例的上线集群特性的方法的主要流程的示意图;
图3是根据本发明实施例的上线集群特性的装置的主要模块的示意图;
图4是本发明实施例可以应用于其中的示例性***架构图;
图5是适于用来实现本发明实施例的终端设备或服务器的计算机***的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的上线集群特性的方法的主要流程的示意图。如图1所示,作为本发明的一个实施例,所述上线集群特性的方法可以包括:
步骤101,基于分组特性,将待上线特性分组中的表移动到临时分组中。
在该步骤中,基于集群的分组特性,将待上线特性分组中的表移动到临时分组中,实现资源隔离的功能。
作为本发明的又一个实施例,步骤101包括:获取待上线特性分组中的表信息和节点服务器信息;将所述表信息和节点服务器信息分别存放到对应的列表文件中;基于分组特性,将待上线特性分组中的所有表移动到临时分组中。可选地,所述表是指待上线特性分组中的所有表,例如业务表(即用户数据表)、***表等;所述节点服务器是指待上线特性分组中的所有节点服务器;表信息可以包括表名称,节点服务器信息可以包括节点服务器的ID。
可选地,所述集群为数据库集群,所述数据库可以是非关系型数据库(例如Hbase、MongoDB、Redis、FlockDB等),也可以是关系型数据库(例如Oracle、MySQL、MicrosoftSQLServer、PostgreSQL、DB2等),本发明对此不作限制。以下以分布式数据库HBase为例,进行详细说明,其他类型的数据库不再赘述,本发明实施例提供的方法也同样适用于其他数据库集群的特性上线。
Hbase数据库有两个元数据表即-ROOT-表和.META.表。-ROOT-表和.META.表中记录了Region的分布情况以及每个Region的详细信息。其中,-ROOT-表用于保存.META.表所有的Region位置信息;.META.表用于存放用户数据表的Region位置信息,所述Region位置信息包括具有映射关系的Region的ID和RegionServer服务器的ID。一般来说,需要多个Region来存放.META.表。客户端访问HBase上的数据并不需要HMaster服务器参与(寻址访问Zookeeper和RegionServer,数据读写访问RegionServer),HMaster服务器仅仅维护table(表)和Region的元数据信息(table的元数据信息保存在Zookeeper上)。
HBase集群中包括多台服务器,每台服务器里会启动一些服务,来保证集群的正常运行,运行RegionServer服务的服务器是RegionServer服务器,运行HMaster服务的服务器是HMaster服务器。
RegionServer:是HBase集群的每个工作节点,RegionServer的作用是维护Hmaster分配给RegionServer的Region,处理对这些Region的io请求;负责切分正在运行过程中变的过大的Region。RegionServer存取一个子表时,会创建一个Region对象,一个RegionServer会有多个Region和一个HLog(日志文件)。
RegionServer服务:是HBase集群运行在每个工作节点上的服务。
RSgroup:分组特性,是HBase集群的一个特性,实现资源隔离的功能。
HMaster服务器:即主服务器,为RegionServer分配Region;负责RegionServer的负载均衡;发现失效的RegionServer并重新分配其上的Region;HDFS(Hadoop分布式文件***)上的垃圾文件回收;处理Schema(数据库对象的集合,一个用户一般对应一个Schema)更新请求。
HBase集群中有很多的表,根据表数据量的大小划分成不同的Region(即表由一个或多个Region组成),集群将这些Region分配到表所在分组的不同的RegionServer服务器上。因此,在该实施例中,“将表移动到临时分组中”实际上是指将表对应的Region分配到临时分组的RegionServer服务器上。需要指出的是,待上线特性分组中包括多个RegionServer服务器,而RegionServer服务器的数量可以根据业务自行调整。可选地,可以将待上线特性分组中的表移动到不同的临时分组中。
在本发明的又一个实施例中,步骤101包括:获取待上线特性分组中的表信息和RegionServer服务器信息;将所述表信息和RegionServer服务器信息分别存放到对应的列表文件中;基于HBase集群的RSgroup特性,将待上线特性分组中的所有表移动到临时分组中。在该实施例中,所述表是指待上线特性分组中的所有表,例如业务表(即用户数据表)、***表等;所述RegionServer服务器是指待上线特性分组中的所有RegionServer服务器;表信息可以包括表名称,RegionServer服务器信息可以包括RegionServer服务器的ID。
具体地,以HBase集群的RSgroup特性为例,通过Hbase shell的命令get_rsgroup获取待上线特性分组(Group_A)内的所有RegionServer服务器信息和表信息,将所述RegionServer服务器信息和表信息分别存放到对应的列表文件中。可选地,将列表文件存放在HMaster服务器上,以供后续步骤调取。
例如,可以在Hmaster上执行脚本,通过Hbase shell的命令get_rsgroup获取RegionServer信息,并将其存放到列表文件g_s.list中:
echo"get_rsgroup'Group_A'"|hbase shell|sed-n'/Servers:/,/Tables:/p'|grep":16020"|awk-F':”{print$1}'>g_s.list
例如,可以在Hmaster上执行脚本,通过Hbase shell的命令get_rsgroup获取表(table)信息,并将其存放到列表文件g_t.list中:
echo"get_rsgroup'Group_A'"|hbase shell|sed-n'/Tables:/,/row/p'|sed'/row(s)/d'|sed'/Tables:/d'|grep-v"^$">g_t.list
所述临时分组包括多个RegionServer服务器,通过HBase自带的命令工具Hbaseshell,对表进行移动分组,将表的所有region从待上线特性分组(Group_A)中的RegionServer服务器上,移动到临时分组(Group_tmp)中的RegionServer服务器上。可选地,可以在Hmaster上执行脚本,通过Hbase shell的命令move_rsgroup_tables将Group_A中的所有表移动到Group_tmp中:
for t in`cat g_t.list`;do echo"move_rsgroup_tables'Group_tmp',['"$t"']"|hbase shell;done:
需要指出的是,本发明实施例示例性地以Group_A作为待上线特性分组,待上线特性分组也可以是其他分组,例如Group_B、Group_C等。
在完成步骤101之后,待上线特性分组中的RegionServer服务器上没有Region,这样就可以随意去重启待上线特性分组中的RegionServer服务,而不影响业务对表的读写使用。可见,本发明实施例能够通过集群的分组特性,在上线特性过程中实现业务应用不停止读写。
步骤102,重启配置有特性的主服务和所述待上线特性分组内的节点服务。
作为本发明的又一个实施例,步骤102包括:
首先,将特性配置文件和类文件分发到主服务器和所述待上线特性分组内的节点服务器上;然后,直接并行重启待上线特性分组内的节点服务;最后,重启主服务。
需要指出的是,所述特性既可以是集群的新特性、也可以是集群的已有特性。
仍然以HBase集群为例,将特性配置文件和类文件分发到HMaster服务器和所述待上线特性分组内的所有RegionServer服务器上,直接并行重启待上线特性分组内的所有RegionServer服务,以及依次重启HMaster服务。
需要指出的是,为了安全起见,一般是先重启节点服务,再重启主服务。由于RegionServer服务是节点服务,不是主服务,如果有问题,直接停止也不会影响整个集群。
作为本发明的又一个实施例,采用主-备模式部署两台Hmaster服务器,以其中一个Hmaster服务器作为主服务器,另一个作为备服务器。因此,在该步骤中,依次重启主Hmaster服务器的Hmaster服务、备Hmaster服务器的Hmaster服务。
作为本发明的再一个实施例,将新特性配置文件和类文件分发到主服务器和所述待上线新特性分组内的节点服务器上,包括:首先,获取特性的配置信息,并将新特性的配置信息提交到配置管理工具上,生成新特性配置文件;然后,根据待上线新特性分组中的根据节点服务器信息,将主服务器对应的新特性配置文件、节点服务器对应的新特性配置文件分别分发到主服务器和所述待上线新特性分组内的节点服务器上;同时,将类文件分发到主服务器和所述待上线新特性分组内的节点服务器上。需要说明的是,所述特性的配置信息可以由用户配置,因此在该步骤中获取用户配置的配置信息,并将其提交到配置管理工具上,从而生成新特性配置文件,实现对主服务和节点服务的重新配置。
需要指出的是,所述新特性配置文件和类文件也可以预先存储在服务器中,当执行步骤102时,可以从该服务器中获取新特性配置文件和类文件,并将新特性配置文件和类文件分发到主服务器和所述待上线新特性分组内的节点服务器上。重启主服务和节点服务时,所述新特性配置文件和类文件用于实现集群新特性的上线。
由于Hbase集群的所有配置均根据个性化分组维护到配置管理工具(例如GIT、CVS、CCC、SCCS、RCS等)上,所以首先将待上线新特性的配置修改提交到配置管理工具上(从配置管理工具往集群上去同步),然后根据待上线新特性分组内的节点服务器信息,并通过同步脚本进行统一分发,从而将新特性配置文件和类文件分发到主服务器和所述待上线新特性分组内的节点服务器上。
由于不同分组的特性不同,可以根据不同分组分发不同的配置文件,所述配置既包括节点服务器上的配置,也包括主服务器上的配置。分发到同一个分组内的所有节点服务器上的配置文件相同,类文件也相同。分发到主服务上的配置文件与分发到节点服务器上的配置文件不同。但是,分发到主服务上的类文件与分发到节点服务器上的类文件可以相同。
所述类文件可以是jar包,将已经写好的类文件进行打包,得到jar包,以便于直接使用jar包中的类和属性以及方法。jar包即Java Archive File,Java编译好之后生成class类文件,把多个class类文件打包成一个jar包,jar包中除了class类文件还可以包括一些资源和配置文件,通常一个jar包就是一个java程序或者一个java库。
例如,可以通过scp命令,将新特性配置文件和类文件分发到Group_A内的所有RegionServer服务器上。
由于Group_A里的所有表已经移动到其他分组中,所以Group_A可以进行并行重启而无任何影响:
步骤103,将所述表从临时分组中移回至所述待上线特性分组中,以实现特性上线。
在该步骤中,根据步骤101中获取的表信息(存放在列表文件g_t.list中)和/或节点服务器信息(存放在列表文件g_s.list),将临时分组中的表移回至所述待上线特性分组中。因此,特性在待上线特性分组内生效,从而实现集群特性的上线。
以HBase集群为例,例如,通过hbase shell的命令move_rsgroup_tables将Group_tmp中的表移回:
for t in`cat g_t.list`;do echo"move_rsgroup_tables'Group_A',['"$t"']"|hbase shell;done:
因此,在步骤103中,将表的所有region从临时分组(Group_tmp)中的RegionServer服务器上,移动到待上线新特性分组(Group_A)中的RegionServer服务器上,从而实现HBase集群新特性的上线。
需要指出的是,在执行完步骤102之后,新特性就在待上线特性分组上上线了,而执行步骤103为了将表移回至待上线特性分组中,否则拥有新特性的分组就没有表,那么上线新功能就没有意义了。因此,本发明实施例在执行步骤102之后,继续执行步骤103,使得新特性在拥有表的分组内生效,从而实现新特性的上线。
根据上面所述的各种实施例,可以看出本发明通过采用基于分组特性,将待上线特性分组内的表移动到临时分组中,从而解决了上线特性过程中需要停止业务应用或者上线时间过长的问题。也就是说,在现有技术中,上线方案大体有两种,一种是平滑滚动重启,上线时间过长,另一种重启集群,需要业务应用停读写,这两种方案均无法满足高效地上线集群特性的要求。而本发明是基于分组特性,将待上线特性分组内的表移动到临时分组中,然后重启主服务和节点服务,那么在特性上线过程中不需要停止业务应用;而且通过并行重启待上线特性分组内的节点服务,缩短上线时间,提高上线效率,从而实现高效地上线集群的特性。
图2是根据本发明一个可参考实施例的上线集群特性的方法的主要流程的示意图。作为本发明的又一个实施例,所述上线集群特性的方法可以包括:
步骤201,获取待上线特性分组中的表信息和节点服务器信息,将所述表信息和节点服务器信息分别存放到对应的列表文件中;
步骤202,基于分组特性,将待上线特性分组中的表移动到临时分组中;
步骤203,将新特性配置文件和类文件分发到主服务器和所述待上线特性分组内的节点服务器上;
步骤204,直接并行重启待上线特性分组内的节点服务;
步骤205,依次重启主服务;
步骤206,将所述表从临时分组中移回至所述待上线特性分组中;
步骤207,新特性在待上线特性分组内生效。
步骤201-207可以实现一个分组的特性上线,其他分组的特性上线重复此过程即可,整个上线过程业务无感知、并且效率高。
需要指出的是,在本发明一个可参考实施例中所述上线集群特性的方法的具体实施内容,在上面所述上线集群特性的方法中已经详细说明了,故在此重复内容不再说明。
图3是根据本发明实施例的上线集群特性的装置,如图3所示,所述上线集群特性的装置300包括移动模块301、重启模块302以及移回模块303。其中,所述移动模块301基于分组特性,将待上线特性分组中的表移动到临时分组中;所述重启模块302重启配置有特性的主服务和所述待上线特性分组内的节点服务;所述移回模块303将所述表从临时分组中移回至所述待上线特性分组中。
可选地,所述集群为HBase集群,所述分组特性为RSgroup特性。
作为本发明的又一个实施例,所述移动模块301获取待上线特性分组中的表信息和节点服务器信息,将所述表信息和节点服务器信息分别存放到对应的列表文件中,基于分组特性,将待上线特性分组中的表移动到临时分组中。并且,所述移回模块302基于所述表信息和节点服务器信息,将所述表从临时分组中移回至所述待上线特性分组中,以实现特性上线。
可选地,所述表是指待上线特性分组中的所有表,例如业务表(即用户数据表)、***表等;所述节点服务器是指待上线特性分组中的所有节点服务器;表信息可以包括表名称,节点服务器信息可以包括节点服务器的ID。
可选地,所述移动模块301获取待上线特性分组中的表信息和RegionServer服务器信息;将所述表信息和RegionServer服务器信息分别存放到对应的列表文件中;基于RSgroup特性,将待上线特性分组中的所有表移动到临时分组中。在该实施例中,所述表是指待上线特性分组中的所有表,例如业务表(即用户数据表)、***表等;所述RegionServer服务器是指待上线特性分组中的所有RegionServer服务器;表信息可以包括表名称,RegionServer服务器信息可以包括RegionServer服务器的ID。在该实施例中,所述移动模块301实际上是将表对应的Region分配到临时分组的RegionServer服务器上。需要指出的是,待上线特性分组中包括多个RegionServer服务器,而RegionServer服务器的数量可以根据业务自行调整。可选地,可以将待上线特性分组中的表移动到不同的临时分组中。
具体地,以HBase集群的RSgroup特性为例,通过Hbase shell的命令get_rsgroup获取待上线特性分组(Group_A)内的所有RegionServer服务器信息和表信息,将所述RegionServer服务器信息和表信息分别存放到对应的列表文件中。可选地,将列表文件存放在HMaster服务器上,以供其他模块调取。
可选地,所述重启模块302包括分发模块、第一重启模块和第二重启模块,其中,所述分发模块将特性配置文件和类文件分发到主服务器和所述待上线特性分组内的节点服务器上,所述第一重启模块直接并行重启待上线特性分组内的节点服务,所述第二重启模块重启主服务。
以HBase集群为例,将新特性配置文件和类文件分发到HMaster服务器和所述待上线新特性分组内的所有RegionServer服务器上,直接并行重启待上线新特性分组内的所有RegionServer服务,以及依次重启HMaster服务。需要指出的是,为了安全起见,一般是先重启节点服务,再重启主服务。由于RegionServer服务是节点服务,不是主服务,如果有问题,直接停止也不会影响整个集群。作为本发明的又一个实施例,采用主-备模式部署两台Hmaster服务器,以其中一个Hmaster服务器作为主服务器,另一个作为备服务器。
可选地,所述分发模块获取特性的配置信息,并将所述特性的配置信息提交到配置管理工具上,生成特性配置文件;将主服务器对应的特性配置文件、节点服务器对应的特性配置文件分别分发到主服务器和所述待上线特性分组内的节点服务器上;同时,将类文件分发到主服务器和所述待上线特性分组内的节点服务器上。
由于Hbase集群的所有配置均根据个性化分组维护到配置管理工具(例如GIT、CVS、CCC、SCCS、RCS等)上,所以首先将待上线特性的配置修改提交到配置管理工具上(从配置管理工具往集群上去同步),然后根据待上线特性分组内的节点服务器信息,并通过同步脚本进行统一分发,从而将特性配置文件和类文件分发到主服务器和所述待上线特性分组内的节点服务器上。
由于不同分组的特性不同,可以根据不同分组分发不同的配置文件,所述配置既包括节点服务器上的配置,也包括主服务器上的配置。分发到同一个分组内的所有节点服务器上的配置文件相同,类文件也相同。分发到主服务上的配置文件与分发到节点服务器上的配置文件不同。但是,分发到主服务上的类文件与分发到节点服务器上的类文件可以相同。
根据上面所述的各种实施例,可以看出本发明通过采用基于分组特性,将待上线特性分组内的表移动到临时分组中,从而解决了上线特性过程中需要停止业务应用或者上线时间过长的问题。也就是说,在现有技术中,上线方案大体有两种,一种是平滑滚动重启,上线时间过长,另一种重启集群,需要业务应用停读写,这两种方案均无法满足高效地上线集群特性的要求。而本发明是基于分组特性,将待上线特性分组内的表移动到临时分组中,然后重启主服务和节点服务,那么在特性上线过程中不需要停止业务应用;而且通过并行重启待上线特性分组内的节点服务,缩短上线时间,提高上线效率,从而实现高效地上线集群的特性。
需要说明的是,在本发明所述上线集群特性的装置的具体实施内容,在上面所述上线集群特性的方法中已经详细说明了,故在此重复内容不再说明。
图4示出了可以应用本发明实施例上线集群特性的方法或上线集群特性的装置的示例性***架构400。
如图4所示,***架构400可以包括终端设备401、402、403,网络404和服务器405。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器405可以是提供各种服务的服务器,例如对用户利用终端设备401、402、403所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息——仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的上线集群特性的方法一般由服务器405执行,相应地,所述上线集群特性的装置一般设置在服务器405中。
应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图5,其示出了适于用来实现本发明实施例的终端设备的计算机***500的结构示意图。图5示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机***500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有***500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本发明的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括移动模块、重启模块和移回模块,其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:基于分组特性,将待上线特性分组中的表移动到临时分组中;重启配置有特性的主服务和所述待上线特性分组内的节点服务;将所述表从临时分组中移回至所述待上线特性分组中。
根据本发明实施例的技术方案,因为采用基于分组特性,将待上线特性分组内的表移动到临时分组中的技术手段,所以克服了上线特性过程中需要停止业务应用或者上线时间过长的技术问题,本发明是基于分组特性,将待上线特性分组内的表移动到临时分组中,然后重启主服务和节点服务,从而在特性上线过程中不需要停止业务应用;而且通过并行重启待上线特性分组内的节点服务,缩短上线时间,提高上线效率,从而实现高效地上线集群的特性。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (12)
1.一种上线集群特性的方法,其特征在于,包括:
基于分组特性,将待上线特性分组中的表移动到临时分组中;
重启配置有特性的主服务和所述待上线特性分组内的节点服务;
将所述表从临时分组中移回至所述待上线特性分组中,以实现特性上线;
基于分组特性,将待上线特性分组内的表移动到临时分组中,包括:
获取待上线特性分组中的表信息和节点服务器信息;
将所述表信息和节点服务器信息分别存放到对应的列表文件中,所述列表文件存放在HMaster服务器上;
基于分组特性,将待上线特性分组中的表移动到临时分组中;其中,将表移动到临时分组中是指将表对应的Region分配到临时分组的RegionServer服务器上;
所述将所述表从临时分组中移回至所述待上线特性分组中,以实现特性上线,包括:
基于所述表信息和节点服务器信息,将所述表从临时分组中移回至所述待上线特性分组中,以实现特性上线。
2.根据权利要求1所述的方法,其特征在于,所述集群为HBase集群,所述分组特性为RSgroup特性。
3.根据权利要求1所述的方法,其特征在于,所述表包括业务表和***表;和/或,所述表信息包括表名称;和/或,所述节点服务器信息包括节点服务器的ID;和/或,所述列表文件存放于主服务器上。
4.根据权利要求1所述的方法,其特征在于,重启配置有特性的主服务和所述待上线特性分组内的节点服务,包括:
将特性配置文件和类文件分发到主服务器和所述待上线特性分组内的节点服务器上;
直接并行重启待上线特性分组内的节点服务;
重启主服务。
5.根据权利要求4所述的方法,其特征在于,将特性配置文件和类文件分发到主服务器和所述待上线特性分组内的节点服务器上,包括:
获取特性的配置信息,并将所述特性的配置信息提交到配置管理工具上,生成特性配置文件;
将主服务器对应的特性配置文件、节点服务器对应的特性配置文件分别分发到主服务器和所述待上线特性分组内的节点服务器上;同时,将类文件分发到主服务器和所述待上线特性分组内的节点服务器上。
6.一种上线集群特性的装置,其特征在于,包括:
移动模块,用于基于分组特性,将待上线特性分组中的表移动到临时分组中;
重启模块,用于重启配置有特性的主服务和所述待上线特性分组内的节点服务;
移回模块,用于将所述表从临时分组中移回至所述待上线特性分组中;
所述移动模块用于:
获取待上线特性分组中的表信息和节点服务器信息;
将所述表信息和节点服务器信息分别存放到对应的列表文件中,所述列表文件存放在HMaster服务器上;
基于分组特性,将待上线特性分组中的表移动到临时分组中;其中,将表移动到临时分组中是指将表对应的Region分配到临时分组的RegionServer服务器上;
所述移回模块用于:
基于所述表信息和节点服务器信息,将所述表从临时分组中移回至所述待上线特性分组中,以实现特性上线。
7.根据权利要求6所述的装置,其特征在于,所述集群为HBase集群,所述分组特性为RSgroup特性。
8.根据权利要求6所述的装置,其特征在于,所述表包括业务表和***表;和/或,所述表信息包括表名称;和/或,所述节点服务器信息包括节点服务器的ID;和/或,所述列表文件存放于主服务器上。
9.根据权利要求6所述的装置,其特征在于,所述重启模块包括:
分发模块,用于将特性配置文件和类文件分发到主服务器和所述待上线特性分组内的节点服务器上;
第一重启模块,用于直接并行重启待上线特性分组内的节点服务;
第二重启模块,用于重启主服务。
10.根据权利要求9所述的装置,其特征在于,所述分发模块用于:
获取特性的配置信息,并将所述特性的配置信息提交到配置管理工具上,生成特性配置文件;
将主服务器对应的特性配置文件、节点服务器对应的特性配置文件分别分发到主服务器和所述待上线特性分组内的节点服务器上;同时,将类文件分发到主服务器和所述待上线特性分组内的节点服务器上。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810245027.5A CN110347654B (zh) | 2018-03-23 | 2018-03-23 | 一种上线集群特性的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810245027.5A CN110347654B (zh) | 2018-03-23 | 2018-03-23 | 一种上线集群特性的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110347654A CN110347654A (zh) | 2019-10-18 |
CN110347654B true CN110347654B (zh) | 2024-06-18 |
Family
ID=68172308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810245027.5A Active CN110347654B (zh) | 2018-03-23 | 2018-03-23 | 一种上线集群特性的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110347654B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988703B (zh) * | 2019-12-18 | 2022-09-16 | ***通信集团四川有限公司 | 一种读写请求的均衡方法及装置 |
CN113612846B (zh) * | 2021-08-04 | 2022-07-29 | 掌阅科技股份有限公司 | 服务上线处理方法、计算设备及计算机存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1766844A (zh) * | 2005-09-26 | 2006-05-03 | 西安交通大学 | 集群环境下的应用服务器的***再生方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6681389B1 (en) * | 2000-02-28 | 2004-01-20 | Lucent Technologies Inc. | Method for providing scaleable restart and backout of software upgrades for clustered computing |
US7636823B1 (en) * | 2006-09-27 | 2009-12-22 | Symantec Corporation | Switching roles between a production storage device and a snapshot device |
CN102521386B (zh) * | 2011-12-22 | 2013-07-10 | 清华大学 | 基于集群存储的空间元数据分组方法 |
CN103218404B (zh) * | 2013-03-20 | 2015-11-18 | 华中科技大学 | 一种基于关联特性的多维元数据管理方法和*** |
CN105591778A (zh) * | 2014-10-23 | 2016-05-18 | 上海天脉聚源文化传媒有限公司 | 一种分布式***更新配置文件的方法及*** |
CN106293911A (zh) * | 2016-07-29 | 2017-01-04 | 乐视控股(北京)有限公司 | 分布式调度***、方法 |
-
2018
- 2018-03-23 CN CN201810245027.5A patent/CN110347654B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1766844A (zh) * | 2005-09-26 | 2006-05-03 | 西安交通大学 | 集群环境下的应用服务器的***再生方法 |
Non-Patent Citations (1)
Title |
---|
沈美娥等.《计算机组成原理》.北京理工大学出版社,2018,第233-237页. * |
Also Published As
Publication number | Publication date |
---|---|
CN110347654A (zh) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109274731B (zh) | 基于多租户技术的web服务的部署、调用方法和装置 | |
US10719510B2 (en) | Tiering with pluggable storage system for parallel query engines | |
US10402424B1 (en) | Dynamic tree determination for data processing | |
JP6542909B2 (ja) | ファイル操作方法及び装置 | |
US8738645B1 (en) | Parallel processing framework | |
US9372880B2 (en) | Reclamation of empty pages in database tables | |
CN106776783B (zh) | 非结构化数据存储管理方法和*** | |
CN107480205B (zh) | 一种进行数据分区的方法和装置 | |
US20140059094A1 (en) | Making use of a file path to determine file locality for applications | |
CN110858194A (zh) | 一种数据库扩容的方法和装置 | |
US20120143866A1 (en) | Client Performance Optimization by Delay-Loading Application Files with Cache | |
CN112597126A (zh) | 一种数据迁移方法和装置 | |
CN112000734A (zh) | 一种大数据处理方法和装置 | |
CN110347654B (zh) | 一种上线集群特性的方法和装置 | |
US20220300503A1 (en) | Querying distributed databases | |
CN111444148A (zh) | 基于MapReduce的数据传输方法和装置 | |
CN111984686A (zh) | 一种数据处理的方法和装置 | |
CN116775712A (zh) | 联表查询方法、装置、电子设备、分布式***和存储介质 | |
CN113127430A (zh) | 镜像信息处理方法、装置、计算机可读介质及电子设备 | |
US10114864B1 (en) | List element query support and processing | |
CN114756173A (zh) | 文件合并的方法、***、设备和计算机可读介质 | |
CN113722007A (zh) | Vpn分支设备的配置方法、装置及*** | |
CN109213815B (zh) | 控制执行次数的方法、装置、服务器终端以及可读介质 | |
CN113535673A (zh) | 生成配置文件及数据处理的方法和装置 | |
CN113656469A (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 |