CN111694518A - 一种集群扩容或缩容后数据自动迁移的方法、装置、设备 - Google Patents

一种集群扩容或缩容后数据自动迁移的方法、装置、设备 Download PDF

Info

Publication number
CN111694518A
CN111694518A CN202010476070.XA CN202010476070A CN111694518A CN 111694518 A CN111694518 A CN 111694518A CN 202010476070 A CN202010476070 A CN 202010476070A CN 111694518 A CN111694518 A CN 111694518A
Authority
CN
China
Prior art keywords
partition
cluster
topic
new
data
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.)
Withdrawn
Application number
CN202010476070.XA
Other languages
English (en)
Inventor
王千龙
康凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010476070.XA priority Critical patent/CN111694518A/zh
Publication of CN111694518A publication Critical patent/CN111694518A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种集群扩容或缩容后数据自动迁移的方法、装置、设备,所述方法包括如下步骤:定时检测集群节点状态;当检测到集群有新的节点增加或有节点退出时,开始收集各个topic的配额文件,产生新的配额文件;从而产生新的数据重分布自动分区方案;利用新的自动分区方案对各个topic分区进行数据迁移重新分布在新的集群中。解决kafka集群扩容或缩容后,实现数据快速迁移的目的,做到不影响客户正常使用的情况下,快速迁移;此过程可以减少管理员的手动维护工作。

Description

一种集群扩容或缩容后数据自动迁移的方法、装置、设备
技术领域
本发明涉及集群数据迁移技术领域,具体涉及一种集群扩容或缩容后数据自动迁移的方法、装置、设备。
背景技术
Kafka的使用场景非常广泛,而在分布式应用场景中,数据迁移是一个比较常见的问题,集群中新增了一个Broker节点,此时需要将原来集群中已有的Topic的数据迁移部分到新的集群中,缓解集群压力;然而kafka集群在新增节点后并不自动将数据reblance到整个新集群中,这个过程需要我们手动分配。数据迁移不能做到实时性扩容后在不影响客户端使用的情况下立即迁移,虽然kafka提供了分区重新分配工具,还是需要管理员在操作的时候,必须弄清楚哪些topic或分区可以迁移,然而这些对管理员的手动维护提出了很大的挑战。
发明内容
针对kafka集群在新增节点后并不自动将数据reblance到整个新集群中,这个过程需要我们手动分配的问题,本发明提供一种集群扩容或缩容后数据自动迁移的方法、装置、设备。
本发明的技术方案是:
第一方面,本发明技术方案提供一种集群扩容或缩容后数据自动迁移的方法,包括如下步骤:
定时检测集群节点状态;
当检测到集群有新的节点增加或有节点退出时,开始收集各个topic的配额文件,产生新的配额文件,从而产生新的数据重分布自动分区方案;
利用新的数据重分布自动分区方案对各个topic分区进行数据迁移重新分布在新的集群中。按新的配额文件自动将数据进行迁移重新平衡到整个新的集群中。解决kafka集群扩容或缩容后,实现数据快速迁移的目的,做到不影响客户正常使用的情况下,快速迁移;此过程可以减少管理员的手动维护工作。
进一步的,当检测到集群有新的节点增加或有节点退出时,开始收集各个topic的配额文件,产生新的配额文件,从而产生新的数据重分布自动分区方案的步骤包括:
获取每个topic的分区副本数据分布信息;如果是缩容,分区副本数据又恰好落在缩容节点,则需要进行副本数据迁移,同时记录各个topic分区副本数据落在缩容节点的分区信息;如果是扩容,直接利用新的配额文件直接进行数据迁移不记录分区信息,产生新的数据重分布自动分区方案。
通过zookeeper节点感知集群发生变化,获取zookeeper中的broker ID,结合配额文件,产生新的配额文件;如果是扩容,则直接利用新的配额文件直接生成新的数据重分布自动分区方案,如果是缩容,则利用存储模块获取的topic直接对分区副本数少的分区进行调整。
进一步的,记录各个topic分区副本数据落在缩容节点的分区信息的步骤包括:遍历各个topic的分区副本数量;分区副本数量小于topic创建时的设定的分区副本数量时,对该topic的分区信息进行记录。
进一步的,所述的集群包括kafka集群。
另一方面,本发明技术方案还提供一种集群扩容或缩容后数据自动迁移的装置,包括定时检测模块、触发模块、收集模块、迁移模块;
定时检测模块,用于定时检测集群节点状态;
触发模块,用于当定时监测模块检测到集群节点发生变化时触发信息到收集模块;
收集模块,用于接收到触发模块的触发信息时开始收集各个topic的配额文件,生成新的配额文件,从而产生新的数据重分布自动分区方案;
迁移模块:用于执行新的数据重分布自动分区方案将数据进行迁移重新平衡到新的集群中。
进一步的,收集模块包括获取单元和自动分区方案生成单元;
获取单元,用于获取每个topic的分区副本数据分布信息;
自动分区方案生成单元,用于产生新的数据重分布自动分区方案;如果是缩容,分区副本数据又恰好落在缩容节点,则需要进行副本数据迁移,同时记录各个topic分区副本数据落在缩容节点的分区信息;如果是扩容,直接利用新的配额文件直接进行数据迁移不记录分区信息。
进一步的,自动分区方案生成单元,还用于遍历各个topic的分区副本数量;分区副本数量小于topic创建时的设定的分区副本数量时,对该topic的分区信息进行记录。
第三方面,本发明技术方案还提供一种电子设备,包括存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如第一方面所述的一种集群扩容或缩容后数据自动迁移的方法。
从以上技术方案可以看出,本发明具有以下优点:kafka集群扩容或缩容后,实现数据快速迁移的目的,可以根据正在使用的客户端,自动调整,做到不影响客户正常使用的情况下,快速迁移;此过程可以减少管理员的手动维护工作。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的装置的示意性框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例一
如图1所示,本发明技术方案提供一种集群扩容或缩容后数据自动迁移的方法,包括如下步骤:
S1:定时检测集群节点状态;
S2:当检测到集群有新的节点增加或有节点退出时,开始收集各个topic的配额文件,产生新的配额文件,从而产生新的数据重分布自动分区方案;
S3:利用新的数据重分布自动分区方案对各个topic分区进行数据迁移重新分布在新的集群中。
解决kafka集群扩容或缩容后,实现数据快速迁移的目的,做到不影响客户正常使用的情况下,快速迁移;此过程可以减少管理员的手动维护工作。
实施例二
本发明技术方案提供一种集群扩容或缩容后数据自动迁移的方法,包括如下步骤:
S1:定时检测集群节点状态;本步骤中,通过zookeeper节点感知集群发生变化,获取zookeeper中的broker ID;
S2:当检测到集群有新的节点增加或有节点退出时,开始收集各个topic的配额文件,产生新的配额文件,从而产生新的数据重分布自动分区方案;本步骤中,获取每个topic的分区副本数据分布信息;如果是缩容,分区副本数据又恰好落在缩容节点,则需要进行副本数据迁移,同时记录各个topic分区副本数据落在缩容节点的分区信息;如果是扩容,直接利用新的配额文件直接进行数据迁移不记录分区信息,产生新的数据重分布自动分区方案。通过zookeeper节点感知集群发生变化,获取zookeeper中的broker ID,结合配额文件,产生新的配额文件;如果是扩容,则直接利用新的配额文件直接生成新的数据重分布自动分区方案,如果是缩容,则利用存储模块获取的topic直接对分区副本数少的分区进行调整。
记录各个topic分区副本数据落在缩容节点的分区信息的步骤包括:遍历各个topic的分区副本数量;分区副本数量小于topic创建时的设定的分区副本数量时,对该topic的分区信息进行记录。
S3:利用自动分区方案对各个topic分区进行数据迁移重新分布在新的集群中;本实施例中的集群是指Kafka集群,利用kafka分区重分配工具,将脚本执行方案直接执行即可,在这个过程中,也可以进行微调。需要说明的是,Rebalance本质上是一种协议,规定了一个Consumer Group下的所有consumer如何达成一致,来分配订阅Topic的每个分区;Kafka是一个高吞吐量的分布式消息系统,在APM的移动端请求数据的处理中,使用了Kafka。Kafka数据使用多线程阻塞的方式进行消费,即每个线程通过poll()的形式消费一个或者多个partition,每次得到的消息集处理完成之后才会继续进行下一次poll()操作,同时使用了自动提交offset的模式。Rebalance发生的原因有可能是集群的问题,但大部分都在客户端,一旦服务端在设定的超时时间内没有收到消费者节点发起的心跳,则认为这个节点已经死掉,就会执行Rebalance动作。
获取最佳分区分配方案,达到数据快速迁移,很好的实现数据的负载均衡。
实施例三
如图2所示,本发明技术方案提供一种集群扩容或缩容后数据自动迁移的装置,包括定时检测模块、触发模块、收集模块、迁移模块;
定时检测模块,用于定时检测集群节点状态;
触发模块,用于当定时监测模块检测到集群节点发生变化时触发信息到收集模块;
收集模块,用于接收到触发模块的触发信息时开始收集各个topic的配额文件,生成新的配额文件,从而产生新的数据重分布自动分区方案;
迁移模块:用于执行新的数据重分布自动分区方案将数据进行迁移重新平衡到新的集群中。
收集模块包括获取单元和自动分区方案生成单元;
获取单元,用于获取每个topic的分区副本数据分布信息;
自动分区方案生成单元,用于产生新的数据重分布自动分区方案;如果是缩容,分区副本数据又恰好落在缩容节点,则需要进行副本数据迁移,同时记录各个topic分区副本数据落在缩容节点的分区信息;如果是扩容,直接利用新的配额文件直接进行数据迁移不记录分区信息。还用于遍历各个topic的分区副本数量;分区副本数量小于topic创建时的设定的分区副本数量时,对该topic的分区信息进行记录。
实施例四
本发明技术方案提供一种电子设备,该电子设备包括:处理器(processor)、通信接口(Communications Interface)、存储器(memory)和总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信。总线可以用于电子设备与传感器之间的信息传输。处理器可以调用存储器中的逻辑指令,以执行如下方法:S1:定时检测集群节点状态;S2:当检测到集群有新的节点增加或有节点退出时,开始收集各个topic的配额文件,产生新的配额文件,从而产生新的数据重分布自动分区方案;S3:利用新的数据重分布自动分区方案对各个topic分区进行数据迁移重新分布在新的集群中。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种集群扩容或缩容后数据自动迁移的方法,其特征在于,包括如下步骤:
定时检测集群节点状态;
当检测到集群有新的节点增加或有节点退出时,开始收集各个topic的配额文件,产生新的配额文件;从而产生新的数据重分布自动分区方案;
利用新的数据重分布自动分区方案对各个topic分区进行数据迁移重新分布在新的集群中。
2.根据权利要求1所述的一种集群扩容或缩容后数据自动迁移的方法,其特征在于,当检测到集群有新的节点增加或有节点退出时,开始收集各个topic的配额文件,产生新的配额文件,从而产生新的数据重分布自动分区方案的步骤包括:
获取每个topic的分区副本数据分布信息;如果是缩容,分区副本数据又恰好落在缩容节点,则需要进行副本数据迁移,同时记录各个topic分区副本数据落在缩容节点的分区信息;如果是扩容,直接利用新的配额文件直接进行数据迁移不记录分区信息,产生新的数据重分布自动分区方案。
3.根据权利要求2所述的一种集群扩容或缩容后数据自动迁移的方法,其特征在于,记录各个topic分区副本数据落在缩容节点的分区信息的步骤包括:遍历各个topic的分区副本数量;分区副本数量小于topic创建时的设定的分区副本数量时,对该topic的分区信息进行记录。
4.根据权利要求1所述的一种集群扩容或缩容后数据自动迁移的方法,其特征在于,所述的集群包括kafka集群。
5.一种集群扩容或缩容后数据自动迁移的装置,其特征在于,包括定时检测模块、触发模块、收集模块、迁移模块;
定时检测模块,用于定时检测集群节点状态;
触发模块,用于当定时监测模块检测到集群节点发生变化时触发信息到收集模块;
收集模块,用于接收到触发模块的触发信息时开始收集各个topic的配额文件,生成新的配额文件,从而产生新的数据重分布自动分区方案;
迁移模块:用于执行新的数据重分布自动分区方案将数据进行迁移重新平衡到新的集群中。
6.根据权利要求5所述的一种集群扩容或缩容后数据自动迁移的装置,其特征在于,收集模块包括获取单元和自动分区方案生成单元;
获取单元,用于获取每个topic的分区副本数据分布信息;
自动分区方案生成单元,用于产生新的数据重分布自动分区方案;如果是缩容,分区副本数据又恰好落在缩容节点,则需要进行副本数据迁移,同时记录各个topic分区副本数据落在缩容节点的分区信息;如果是扩容,直接利用新的配额文件直接进行数据迁移不记录分区信息。
7.根据权利要求6所述的一种集群扩容或缩容后数据自动迁移的方法,其特征在于,自动分区方案生成单元,还用于遍历各个topic的分区副本数量;分区副本数量小于topic创建时的设定的分区副本数量时,对该topic的分区信息进行记录。
8.一种电子设备,其特征在于,包括存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至4任一所述的一种集群扩容或缩容后数据自动迁移的方法。
CN202010476070.XA 2020-05-29 2020-05-29 一种集群扩容或缩容后数据自动迁移的方法、装置、设备 Withdrawn CN111694518A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010476070.XA CN111694518A (zh) 2020-05-29 2020-05-29 一种集群扩容或缩容后数据自动迁移的方法、装置、设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010476070.XA CN111694518A (zh) 2020-05-29 2020-05-29 一种集群扩容或缩容后数据自动迁移的方法、装置、设备

Publications (1)

Publication Number Publication Date
CN111694518A true CN111694518A (zh) 2020-09-22

Family

ID=72478897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010476070.XA Withdrawn CN111694518A (zh) 2020-05-29 2020-05-29 一种集群扩容或缩容后数据自动迁移的方法、装置、设备

Country Status (1)

Country Link
CN (1) CN111694518A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256433A (zh) * 2020-10-30 2021-01-22 上海哔哩哔哩科技有限公司 基于Kafka集群的分区迁移方法和装置
CN112506606A (zh) * 2020-11-23 2021-03-16 北京达佳互联信息技术有限公司 集群中容器的迁移方法、装置、设备和介质
CN112527767A (zh) * 2020-12-03 2021-03-19 许继集团有限公司 一种分布式数据库重启后多region表完整修复的方法及系统
CN112765121A (zh) * 2021-01-08 2021-05-07 北京虹信万达科技有限公司 一种基于大数据服务的治理及应用系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256433A (zh) * 2020-10-30 2021-01-22 上海哔哩哔哩科技有限公司 基于Kafka集群的分区迁移方法和装置
CN112256433B (zh) * 2020-10-30 2022-04-05 上海哔哩哔哩科技有限公司 基于Kafka集群的分区迁移方法和装置
CN112506606A (zh) * 2020-11-23 2021-03-16 北京达佳互联信息技术有限公司 集群中容器的迁移方法、装置、设备和介质
CN112527767A (zh) * 2020-12-03 2021-03-19 许继集团有限公司 一种分布式数据库重启后多region表完整修复的方法及系统
CN112527767B (zh) * 2020-12-03 2024-05-10 许继集团有限公司 一种分布式数据库重启后多region表完整修复的方法及系统
CN112765121A (zh) * 2021-01-08 2021-05-07 北京虹信万达科技有限公司 一种基于大数据服务的治理及应用系统

Similar Documents

Publication Publication Date Title
CN111694518A (zh) 一种集群扩容或缩容后数据自动迁移的方法、装置、设备
CN110502494B (zh) 日志处理方法、装置、计算机设备及存储介质
CN108920153B (zh) 一种基于负载预测的Docker容器动态调度方法
CN105204979B (zh) 安卓日志的记录方法及移动终端
CN104102543A (zh) 一种云计算环境中负载调整的方法和装置
CN106656682A (zh) 集群心跳检测方法、系统及装置
CN109412966B (zh) 一种大规模日志传输方法、装置及系统
CN108509157A (zh) 一种应用于分布式文件系统的数据均衡方法及装置
CN101345652A (zh) 数据采集方法及数据采集设备
CN109144787A (zh) 一种数据恢复方法、装置、设备及可读存储介质
CN111221700B (zh) 一种集群节点状态监控方法、装置、设备及可读存储介质
US20160246512A1 (en) Data Compression Method and Storage System
CN106470123A (zh) 日志收集方法、客户端、服务器和电子设备
CN110795284A (zh) 一种数据恢复方法、装置、设备及可读存储介质
CN101662389B (zh) 一种统计性能数据的方法及装置
CN113032157A (zh) 一种服务器自动智能扩缩容方法及系统
CN111327684A (zh) 一种分布式对象存储系统的配额管理方法及装置
CN100435105C (zh) 集群环境下的应用服务器的系统再生方法
CN103607731A (zh) 一种测量报告的处理方法及装置
CN107423188B (zh) 日志处理方法及设备
EP2838023A2 (en) Centralised information reporting in a large scale information processing system
CN108664322A (zh) 数据处理方法及系统
CN110650135B (zh) 一种节点处理方法、相关设备及计算机可读存储介质
CN109302723A (zh) 一种基于互联网的多节点实时无线电监测控制系统及控制方法
CN100395706C (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20200922