CN115396437A - 一种集群搭建方法、装置、电子设备及存储介质 - Google Patents
一种集群搭建方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115396437A CN115396437A CN202211018393.XA CN202211018393A CN115396437A CN 115396437 A CN115396437 A CN 115396437A CN 202211018393 A CN202211018393 A CN 202211018393A CN 115396437 A CN115396437 A CN 115396437A
- Authority
- CN
- China
- Prior art keywords
- deployment
- cluster
- deployed
- server
- node
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种集群搭建方法、装置、电子设备及存储介质,该方法包括:获取待搭建中间件集群的部署信息,部署信息包括集群模式、待部署服务器信息以及节点信息,节点信息包括节点占用内存大小;对待部署服务器进行检测,确定待部署服务器是否满足部署信息对应的部署条件;若满足部署条件,按照集群模式为待部署服务器分配节点生成集群部署方案;将集群部署方案对应的部署包发送至每个待部署服务器并运行,完成中间件集群搭建。通过采用上述集群搭建方法、装置、电子设备及存储介质,解决了人工搭建中间件集群时,对搭建技术人员专业度要求高、且集群搭建效率低的问题。
Description
技术领域
本申请涉及互联网技术领域,具体而言,涉及一种集群搭建方法、装置、电子设备及存储介质。
背景技术
随着互联网的发展以及分布式系统的广泛运用,消息中间件已经逐渐成为企业IT系统内部核心的通信手段。消息中间件是一个独立部署的服务,利用高效可靠的消息传递机制进行异步的数据传输和调用,并基于数据通信进行分布式系统的集成。RocketMQ是一款当下流行的消息中间件,支持主从模式和自主选主模式的集群化部署。目前,在搭建RocketMQ集群时需要技术人员根据现场环境,自行设计每台服务器部署哪些节点,并且为每个节点给出配置文件,设计完成后再登录各个服务器上传RocketMQ部署包并启动,同时,还需要技术人员查询日志来对启动情况进行跟踪。
然而,采用人工方式搭建RocketMQ集群时,不但对搭建技术人员的专业程度要求较高,且集群搭建效率低。
发明内容
有鉴于此,本申请的目的在于提供一种集群搭建方法、装置、电子设备及存储介质,以解决人工搭建RocketMQ集群时,对搭建技术人员专业度要求高、且集群搭建效率低的问题。
第一方面,本申请实施例提供了一种集群搭建方法,包括:
获取待搭建中间件集群的部署信息,部署信息包括集群模式、待部署服务器信息;
对待部署服务器进行检测,确定待部署服务器是否满足部署信息对应的部署条件;
若满足部署条件,按照集群模式为待部署服务器分配节点生成集群部署方案;
将集群部署方案对应的部署包发送至每个待部署服务器并运行,完成中间件集群搭建。
可选地,所述部署信息还包括节点信息,待部署服务器信息包括部署路径以及目标网络端口;确定待部署服务器是否满足部署信息对应的部署条件,包括:基于节点信息,确定待部署服务器的剩余内存是否满足内存大小需求;确定待部署服务器在部署路径下的剩余存储空间是否满足安装部署包的存储空间需求;确定待部署服务器的目标网络端口是否被占用;若待部署服务器满足内存大小需求、满足安装部署包的存储空间需求以及目标网络端口未被占用,则确定待部署服务器满足部署信息对应的部署条件。
可选地,待部署服务器为多个;按照集群模式为待部署服务器分配节点生成集群部署方案,包括:确定集群模式是否为主从模式;若是主从模式,为每个待部署服务器分配一个寻址服务节点以及一个主工作节点;为每个主工作节点分配一个从工作节点,主工作节点与对应的从工作节点分别部署在不同的待部署服务器上。
可选地,在确定集群模式是否为主从模式之后,还包括:若不是主从模式,为每个待部署服务器分配一个寻址服务节点以及一个优先主工作节点,优先主工作节点是从多个从工作节点中选举出来的工作节点;为每个优先主工作节点分配两个从工作节点。
可选地,在为每个主工作节点分配一个从工作节点之后,还包括:确定每个待部署服务器是否均已分配了一个寻址服务节点、一个主工作节点以及一个从工作节点;若均已分配了一个寻址服务节点、一个主工作节点以及一个从工作节点,则针对每个待部署服务器确定该待部署服务器是否满足分配第二个从工作节点的条件;若满足分配第二个从工作节点的条件,则为该待部署服务器再分配一个从工作节点。
可选地,在将集群部署方案对应的部署包发送至每个待部署服务器并运行之前,还包括:接收针对集群部署方案的方案调整指令,生成调整后的集群部署方案;对待部署服务器进行检测,确定待部署服务器是否满足调整后的集群部署方案对应的部署条件;若满足部署条件,确定调整后的集群部署方案是否满足预设要求;若满足预设要求,则将调整后的集群部署方案对应的部署包发送至每个待部署服务器。
可选地,确定调整后的集群部署方案是否满足预设要求,包括:确定待部署服务器对应的寻址服务节点数量以及从节点数量是否满足数量要求;若满足数量要求,确定待部署服务器是否满足调整后的集群部署方案对应的部署条件;若不满足部署条件,则将问题列表反馈至工作人员以重新对调整后的部署方案进行优化,返回执行接收针对集群部署方案的方案调整指令,生成调整后的集群部署方案的步骤;若满足部署条件,则确定调整后的集群部署方案满足预设要求。
第二方面,本申请实施例还提供了一种集群搭建装置,所述装置包括:
信息获取模块,用于获取待搭建中间件集群的部署信息,部署信息包括集群模式、待部署服务器信息;
设备检测模块,用于对待部署服务器进行检测,确定待部署服务器是否满足部署信息对应的部署条件;
方案生成模块,用于若满足部署条件,按照集群模式为待部署服务器分配节点生成集群部署方案;
集群搭建模块,用于将集群部署方案对应的部署包发送至每个待部署服务器并运行,完成中间件集群搭建。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的集群搭建方法的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的集群搭建方法的步骤。
本申请实施例带来了以下有益效果:
本申请实施例提供的一种集群搭建方法、装置、电子设备及存储介质,能够根据获取到的待搭建中间件集群的部署信息自动对待部署服务器进行检测,并在待部署服务器满足部署条件的情况下自动生成集群部署方案,根据集群部署方案对应的部署包完成集群搭建,与现有技术中的集群搭建方法相比,解决了人工搭建中间件集群时,对搭建技术人员专业度要求高、且集群搭建效率低的问题。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的集群搭建方法的流程图;
图2示出了本申请实施例所提供的集群搭建装置的结构示意图;
图3示出了本申请实施例所提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
值得注意的是,在本申请提出之前,随着互联网的发展以及分布式系统的广泛运用,消息中间件已经逐渐成为企业IT系统内部核心的通信手段。消息中间件是一个独立部署的服务,利用高效可靠的消息传递机制进行异步的数据传输和调用,并基于数据通信进行分布式系统的集成。RocketMQ是一款当下流行的消息中间件,支持主从模式和自主选主模式的集群化部署。目前,在搭建RocketMQ集群时需要技术人员根据现场环境,自行设计每台服务器部署哪些节点,并且为每个节点给出配置文件,设计完成后再登录各个服务器上传RocketMQ部署包并启动,同时,还需要技术人员查询日志来对启动情况进行跟踪。然而,采用人工方式搭建RocketMQ集群时,不但对搭建技术人员的专业程度要求较高,且集群搭建效率低的问题。
基于此,本申请实施例提供了一种集群搭建方法,以降低对搭建技术人员的专业程度要求,提高中间件集群的搭建效率。
请参阅图1,图1为本申请实施例所提供的一种集群搭建方法的流程图。如图1所示,本申请实施例提供的集群搭建方法,包括:
步骤S101,获取待搭建中间件集群的部署信息。
该步骤中,待搭建中间件集群可指待搭建的集群,示例性的,待搭建中间件集群可指待搭建的RocketMQ集群。
部署信息包括集群模式、待部署服务器信息。
集群模式可指集群的部署模式,集群模式用于表征中间件集群以何种模式进行部署。
集群模式包括主从模式、自动选主模式,其中,主从模式称为Master-slave模式,自动选主模式也称为Dledger模式。
待部署服务器信息可指集群部署到的服务器的信息,待部署服务器用于安装部署包,以在待部署服务器上实现集群部署。
待部署服务器信息包括但不限于:待部署服务器的用户名、密码、IP地址、网络端口、部署路径、占用存储空间大小。
在本申请实施例中,在生成集群部署方案前,工作人员可以先从所有候选的待部署服务器中选取若干个服务器作为待部署服务器,然后,工作人员将部署信息输入到自动化集群搭建系统中,自动化集群搭建系统会根据输入的部署信息对待部署服务器进行检测。
步骤S102,对待部署服务器进行检测,确定待部署服务器是否满足部署信息对应的部署条件。
该步骤中,部署条件可指部署RocketMQ集群的条件,部署条件用于确定待部署服务器是否符合部署要求。
示例性的,部署条件可以是否满足部署RocketMQ集群的内存需求,是否满足部署RocketMQ集群的存储空间需求。
在本申请实施例中,工作人员可选择多台待部署服务器,针对每台待部署服务器,自动化集群搭建系统会自动检测该待部署服务器是否满足部署信息中设置的存储空间需求、目标网络端口使用需求以及内存大小是否足够等条件。
在一可选实施例中,部署信息还包括节点信息,待部署服务器信息包括部署路径以及目标网络端口;确定待部署服务器是否满足部署信息对应的部署条件,包括:基于节点信息,确定待部署服务器的剩余内存是否满足内存大小需求;确定待部署服务器在部署路径下的剩余存储空间是否满足安装部署包的存储空间需求;确定待部署服务器的目标网络端口是否被占用;若待部署服务器满足内存大小需求、满足安装部署包的存储空间需求以及目标网络端口未被占用,则确定待部署服务器满足部署信息对应的部署条件。
这里,节点可指部署在服务器上的节点,节点包括寻址服务节点以及工作节点,工作节点可分为主工作节点以及从工作节点。
示例性的,寻址服务节点指的是NameSrv节点,工作节点指的是Broker节点,主工作节点指的是Master节点,从工作节点指的是Slave节点。
节点信息包括节点占用内存大小,不同类型的节点占用的内存大小可以是不同的,例如:可设定寻址服务节点占用内存大小为2G,设定工作节点占用内存大小为4G。本领域技术人员可以根据实际情况选择节点占用内存的大小,本申请在此不作限定。
内存大小需求可指部署在同一待部署服务器上的RocketMQ集群中的节点所占用的内存大小,内存大小需求用于保证部署在待部署服务器上的节点能够有足够的内存支持其运行。
部署路径可指RocketMQ集群的部署包在待部署服务器上的安装路径,部署路径用于确定RocketMQ集群的部署包的安装位置,其中,不同的待部署服务器的部署路径可以相同,也可以不同。
存储空间需求可指部署在同一待部署服务器上的RocketMQ集群中的部署包所占用的存储空间的大小,存储空间需求用于保证部署在待部署服务器上的部署包能够有足够的存储空间以进行安装。
目标网络端口可指选取的待部署服务器的网络端口,目标网络端口是部署RocketMQ集群时需要占用的待部署服务器的网络端口,需要确定该网络端口是否已经被占用。
具体的,在确定待部署服务器是否满足部署条件时,可分别确定待部署服务器的剩余内存是否大于或者等于内存大小需求指示的内存大小,待部署服务器在部署路径下的剩余存储空间是否大于或者等于安装部署包所需的占用存储空间大小,待部署服务器的目标网络端口是否已被占用。若上述三个条件均满足要求,则确定待部署服务器满足部署条件,只要上述三个条件中的任意一项不满足要求,则确定待部署服务器不满足部署条件。当待部署服务器不满足部署条件时,会将不满足部署条件的内容反馈给工作人员,由工作人员重新确定部署信息。
在确定待部署服务器的剩余内存是否大于或者等于节点占用内存大小时,先根据集群模式确定每个待部署服务器上部署的节点个数,以主从模式为例,需要在该待部署服务器上至少部署1个寻址服务节点、1个主工作节点以及1个从工作节点,其中,单个寻址服务节点占用2G内存、1个主工作节点以及1个从工作节点分别占用4G内存,因此,在主从模式下要求待部署服务器的剩余内存大小要大于或者等于10G,即,内存大小需求为10G。
在确定待部署服务器在部署路径下的剩余存储空间是否大于或者等于安装部署包所需占用的存储空间时,可直接设定一个安装部署包所需的占用存储空间大小,例如:500M,然后,确定待部署服务器在部署路径下的剩余存储空间是否大于或者等于500M,如果大于或者等于500M则剩余存储空间满足部署集群所需的存储空间的要求,如果小于500M则将该待部署服务器的标识、当前的剩余存储空间以及部署所需占用的存储空间反馈给工作人员,或者,由自动化集群搭建系统遍历所有存储路径,并将所有存储路径对应的剩余存储空间进行排序,选取剩余存储空间处于目标位置上的存储路径作为部署路径,并将重新选择的部署路径反馈给工作人员,并通知工作人员原来选取的部署路径对应的剩余存储空间以及重新选择的部署路径对应的剩余存储空间。其中,目标位置上可指按照从大到小进行排序时,将第一位作为目标位置,或者,将第一个大于500M的存储空间对应的存储路径所在的排列位置作为目标位置。
在确定待部署服务器的目标网络端口是否已被占用时,检测目标网络端口是否被占用,如果未被占用则满足部署条件,如果已被占用则将目标网络端口、被占用信息反馈给工作人员,或者,由自动化集群搭建系统重新选择网络端口作为目标网络端口,并将重新选择的目标网络端口反馈给工作人员,并通知工作人员原来选取的目标网络端口已被占用。
步骤S103,若满足部署条件,按照集群模式为待部署服务器分配节点生成集群部署方案。
该步骤中,集群部署方案可指待部署服务器上部署节点的方案,不同的集群模式、不同的剩余内存大小、不同的目标网络端口以及不同的部署路径均会对应不同的集群部署方案。
集群部署方案包括至少一个寻址服务节点、每个寻址服务节点对应的主工作节点、每个主工作节点对应的从工作节点,每个节点对应的待部署服务器、每个节点对应的网络端口、每个待部署服务器上的部署路径。
在一可选实施例中,待部署服务器为多个;按照集群模式为待部署服务器分配节点生成集群部署方案,包括:确定集群模式是否为主从模式;若是主从模式,为每个待部署服务器分配一个寻址服务节点以及一个主工作节点;为每个主工作节点分配一个从工作节点,主工作节点与对应的从工作节点分别部署在不同的待部署服务器上。
这里,寻址服务节点主要负责临时保存、管理路由信息,寻址服务节点之间互不通信,彼此之间无感知,当工作节点启动时会轮询全部寻址服务器节点,拉去路由配置信息。
工作节点负责存储消息、转发消息,负责接收从生产者发送来的消息并存储,同时为消费者的拉取请求做准备,工作节点启动后需要完成一次将自己注册至寻址服务节点的操作,随后每隔30秒定时向寻址服务节点上报路由信息。
工作节点是RocketMQ集群的核心,提供了消息的接收,存储,拉取等功能,一般都需要保证工作节点的高可用性,所以会配置主工作节点和从工作节点,当主工作节点挂掉之后,可以使用从工作节点。其中,从工作节点属于备份工作节点,用于同步主工作节点的数据。
具体的,在生成集群部署方案时,首先判断集群模式,不同的集群模式对应的集群部署方案是不同的,如果是主从模式则为每个待部署服务器分配1个寻址服务节点、1个主工作节点,同时,还会为每个主工作节点分配1个从工作节点进行数据备份,并且主工作节点与对应的从工作节点会被分别部署在不同的待部署服务器上。
在一可选实施例中,在确定集群模式是否为主从模式之后,还包括:若不是主从模式,为每个待部署服务器分配一个寻址服务节点以及一个优先主工作节点,优先主工作节点是从多个从工作节点中选举出来的工作节点;为每个优先主工作节点分配两个从工作节点。
具体的,由于集群模式分为两种,如果不是主从模式则为自动选主模式。在生成集群部署方案时,如果是自动选主模式,则为每个待部署服务器分配1个寻址服务节点、1个优先主工作节点,同时,还会为每个优先主工作节点分配2个从工作节点进行数据备份。其中,优先主工作节点即为PreferredMaster节点或者称为PreferredLeader,优先主工作节点的选举过程属于现有技术,这里不再赘述。
在一可选实施例中,在为每个主工作节点分配一个从工作节点之后,还包括:确定每个待部署服务器是否均已分配了一个寻址服务节点、一个主工作节点以及一个从工作节点;若均已分配了一个寻址服务节点、一个主工作节点以及一个从工作节点,则针对每个待部署服务器确定该待部署服务器是否满足分配第二个从工作节点的条件;若满足分配第二个从工作节点的条件,则为该待部署服务器再分配一个从工作节点。
这里,分配第二个从工作节点的条件可指待部署服务器的剩余内存是否足够再分配一个从工作节点所需占用的内存,以从工作节点占用的内存大小为4G为例,则分配第二个从工作节点的条件可指待部署服务器的剩余内存是否大于或者等于4G。
如果是主从模式,则在每个待部署服务器均分配了1个寻址服务节点、1个主工作节点以及1个从工作节点后,判断每个待部署服务器的剩余内存是否足够分配第二个从工作节点,以从工作节点占用4G内存为例,若剩余内存大于或者等于4G则为该待部署服务器分配第二个从工作节点。
需要说明的是,无论是主从模式还是自动选主模式,在为每个待部署服务器部署节点时,还需要为该节点分配对应的网络端口。以主从模式为例,在为每个待部署服务器分配一个寻址服务节点时,还为该寻址服务节点分配一个网络端口,为每个待部署服务器分配一个主工作节点时,同样为该主工作节点分配一个网络端口,为每个主工作节点分配一个从工作节点时,同样为该从工作节点分配一个网络端口。
步骤S104,将集群部署方案对应的部署包发送至每个待部署服务器并运行,完成中间件集群搭建。
该步骤中,部署包可指集群部署方案对应的部署程序,部署程序为RocketMQ程序,部署包安装在待部署服务器后可实现集群部署方案对应的集群搭建,将不同的节点部署在该待部署服务器上。
在本申请实施例中,根据确定的集群部署方案可生成对应部署包以及配置文件,自动化集群搭建系统会向每个待部署服务器发送部署包及多个配置文件,其中,每个配置文件与1个节点对应,用于描述该节点的节点信息,配置文件包括该节点对应的网络端口、数据存放路径、节点角色(主工作节点还是从工作节点)。在待部署服务器接收完成部署包以及配置文件后,自动化集群搭建系统会继续发送解压命令及启动命令,控制待部署服务器对接收到的部署包及配置文件进行自动解压及启动,在启动过程中自动化集群搭建系统会不断通过Websocket协议向工作人员返回启动日志信息,直至操作步骤执行完毕。
在一可选实施例中,在将集群部署方案对应的部署包发送至每个待部署服务器并运行之前,还包括:接收针对集群部署方案的方案调整指令,生成调整后的集群部署方案;对待部署服务器进行检测,确定待部署服务器是否满足调整后的集群部署方案对应的部署条件;若满足部署条件,确定调整后的集群部署方案是否满足预设要求;若满足预设要求,则将调整后的集群部署方案对应的部署包发送至每个待部署服务器。
具体的,在确定集群部署方案后,首先将生成的集群部署方案反馈给工作人员,例如:将集群部署方案显示在自动化集群搭建系统的显示器上,工作人员可以针对集群部署方案进行调整,例如:调整主工作节点数量、从工作节点数量、各节点对应的网络端口、部署路径等。
对集群部署方案进行调整并确认后,自动化集群搭建系统接收针对集群部署方案的方案调整指令,并生成生成调整后的集群部署方案。为了确保调整后的集群部署方案是正确的,需要对调整后的集群部署方案进行验证,即,在此对待部署服务器进行检测,确定待部署服务器是否满足调整后的集群部署方案对应的部署条件。
若满足调整后的集群部署方案对应的部署条件,还需要对调整后的集群部署方案的安全性进行判断,即,判断是否满足预设要求,若满足预设要求,才能生成调整后的集群部署方案对应的部署包。
在一可选实施例中,确定调整后的集群部署方案是否满足预设要求,包括:确定待部署服务器对应的寻址服务节点数量以及从节点数量是否满足数量要求;若满足数量要求,确定待部署服务器是否满足调整后的集群部署方案对应的部署条件;若不满足部署条件,则将问题列表反馈至工作人员以重新对调整后的部署方案进行优化,返回执行接收针对集群部署方案的方案调整指令,生成调整后的集群部署方案的步骤;若满足部署条件,则确定调整后的集群部署方案满足预设要求。
具体的,对调整后的集群部署方案的安全性进行判断时,主要是对不同类型的节点数量进行判断。首先,判断寻址服务器节点数量是否大于或者等于1,如果寻址服务节点的数量小于1说明调整后的集群部署方案没有寻址服务节点,这是不符合集群搭建要求的,需要通知工作人员进行调整。
其次,如果是主从模式还需要判断每个主工作节点对应的从工作节点的数量是否大于或者等于1,如果是自动选主模式还需要判断从工作节点的数量是否大于1,如果主从模式下从工作节点的数量小于1或者自动玄珠模型下的从工作节点数量小于或者等于1,说明调整后的集群部署方案的从工作节点数量不符合集群搭建要求,需要通知工作人员进行调整。
最后,还要对调整后的集群部署方案的网络端口是否被占用、剩余内存是否足够、配置路径对应的存储空间是否足够进行判断,如果发现任何一处存在问题,则将问题列表反馈给工作人员,询问工作人员是否调整方案,如果不存在问题则将调整后的集群部署方案对应的部署包发送给待部署服务器。
与现有技术中集群搭建方法相比,本申请能够根据获取到的待搭建中间件集群的部署信息自动对待部署服务器进行检测,并在待部署服务器满足部署条件的情况下自动生成集群部署方案,根据集群部署方案对应的部署包完成集群搭建,解决了人工搭建RocketMQ集群时,不但对搭建技术人员的专业程度要求较高,且集群搭建效率低的问题。
基于同一发明构思,本申请实施例中还提供了与集群搭建方法对应的集群搭建装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述集群搭建方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图2,图2为本申请实施例所提供的一种集群搭建装置的结构示意图。如图2中所示,所述集群搭建装置200包括:
信息获取模块201,用于获取待搭建中间件集群的部署信息,部署信息包括集群模式、待部署服务器信息;
设备检测模块202,用于对待部署服务器进行检测,确定待部署服务器是否满足部署信息对应的部署条件;
方案生成模块203,用于若满足部署条件,按照集群模式为待部署服务器分配节点生成集群部署方案;
集群搭建模块204,用于将集群部署方案对应的部署包发送至每个待部署服务器并运行,完成中间件集群搭建。
请参阅图3,图3为本申请实施例所提供的一种电子设备的结构示意图。如图3中所示,所述电子设备300包括处理器310、存储器320和总线330。
所述存储器320存储有所述处理器310可执行的机器可读指令,当电子设备300运行时,所述处理器310与所述存储器320之间通过总线330通信,所述机器可读指令被所述处理器310执行时,可以执行如上述图1所示方法实施例中的集群搭建方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1所示方法实施例中的集群搭建方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种集群搭建方法,其特征在于,包括:
获取待搭建中间件集群的部署信息,所述部署信息包括集群模式、待部署服务器信息;
对待部署服务器进行检测,确定所述待部署服务器是否满足部署信息对应的部署条件;
若满足部署条件,按照所述集群模式为待部署服务器分配节点生成集群部署方案;
将所述集群部署方案对应的部署包发送至每个待部署服务器并运行,完成中间件集群搭建。
2.根据权利要求1所述的方法,其特征在于,所述部署信息还包括节点信息,所述待部署服务器信息包括部署路径以及目标网络端口;
所述确定所述待部署服务器是否满足部署信息对应的部署条件,包括:
基于所述节点信息,确定所述待部署服务器的剩余内存是否满足内存大小需求;
确定所述待部署服务器在部署路径下的剩余存储空间是否满足安装部署包的存储空间需求;
确定所述待部署服务器的目标网络端口是否被占用;
若所述待部署服务器满足内存大小需求、满足安装部署包的存储空间需求以及目标网络端口未被占用,则确定所述待部署服务器满足部署信息对应的部署条件。
3.根据权利要求1所述的方法,其特征在于,所述待部署服务器为多个;
所述按照所述集群模式为待部署服务器分配节点生成集群部署方案,包括:
确定所述集群模式是否为主从模式;
若是主从模式,为每个待部署服务器分配一个寻址服务节点以及一个主工作节点;
为每个主工作节点分配一个从工作节点,所述主工作节点与对应的从工作节点分别部署在不同的待部署服务器上。
4.根据权利要求3所述的方法,其特征在于,在确定所述集群模式是否为主从模式之后,还包括:
若不是主从模式,为每个待部署服务器分配一个寻址服务节点以及一个优先主工作节点,所述优先主工作节点是从多个从工作节点中选举出来的工作节点;
为每个优先主工作节点分配两个从工作节点。
5.根据权利要求3所述的方法,其特征在于,在为每个主工作节点分配一个从工作节点之后,还包括:
确定每个待部署服务器是否均已分配了一个寻址服务节点、一个主工作节点以及一个从工作节点;
若均已分配了一个寻址服务节点、一个主工作节点以及一个从工作节点,则针对每个待部署服务器确定该待部署服务器是否满足分配第二个从工作节点的条件;
若满足分配第二个从工作节点的条件,则为该待部署服务器再分配一个从工作节点。
6.根据权利要求1所述的方法,其特征在于,在将所述集群部署方案对应的部署包发送至每个待部署服务器并运行之前,还包括:
接收针对所述集群部署方案的方案调整指令,生成调整后的集群部署方案;
对所述待部署服务器进行检测,确定所述待部署服务器是否满足所述调整后的集群部署方案对应的部署条件;
若满足部署条件,确定所述调整后的集群部署方案是否满足预设要求;
若满足预设要求,则将所述调整后的集群部署方案对应的部署包发送至每个待部署服务器。
7.根据权利要求6所述的方法,其特征在于,所述确定所述调整后的集群部署方案是否满足预设要求,包括:
确定所述待部署服务器对应的寻址服务节点数量以及从节点数量是否满足数量要求;
若满足数量要求,确定所述待部署服务器是否满足调整后的集群部署方案对应的部署条件;
若不满足部署条件,则将问题列表反馈至工作人员以重新对调整后的部署方案进行优化,返回执行所述接收针对集群部署方案的方案调整指令,生成调整后的集群部署方案的步骤;
若满足部署条件,则确定调整后的集群部署方案满足预设要求。
8.一种集群搭建装置,其特征在于,包括:
信息获取模块,用于获取待搭建中间件集群的部署信息,所述部署信息包括集群模式、待部署服务器信息;
设备检测模块,用于对待部署服务器进行检测,确定所述待部署服务器是否满足部署信息对应的部署条件;
方案生成模块,用于若满足部署条件,按照所述集群模式为待部署服务器分配节点生成集群部署方案;
集群搭建模块,用于将所述集群部署方案对应的部署包发送至每个待部署服务器并运行,完成中间件集群搭建。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至7中任一项所述的集群搭建方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7中任一项所述的集群搭建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211018393.XA CN115396437B (zh) | 2022-08-24 | 2022-08-24 | 一种集群搭建方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211018393.XA CN115396437B (zh) | 2022-08-24 | 2022-08-24 | 一种集群搭建方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115396437A true CN115396437A (zh) | 2022-11-25 |
CN115396437B CN115396437B (zh) | 2023-06-13 |
Family
ID=84120352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211018393.XA Active CN115396437B (zh) | 2022-08-24 | 2022-08-24 | 一种集群搭建方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115396437B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103209197A (zh) * | 2012-01-12 | 2013-07-17 | 百度在线网络技术(北京)有限公司 | 集群服务器部署方法及系统 |
US20160248510A1 (en) * | 2015-02-25 | 2016-08-25 | Ciena Corporation | Automatic configuration of network devices in a cluster based on physical deployment |
CN108549580A (zh) * | 2018-03-30 | 2018-09-18 | 平安科技(深圳)有限公司 | 自动部署Kubernetes从节点的方法及终端设备 |
CN109639489A (zh) * | 2018-12-18 | 2019-04-16 | 郑州云海信息技术有限公司 | 一种RabbitMQ集群部署方法、系统、设备和介质 |
CN110784546A (zh) * | 2019-10-31 | 2020-02-11 | 浙江大华技术股份有限公司 | 分布式集群的部署方法、服务器以及存储装置 |
CN111225064A (zh) * | 2020-02-24 | 2020-06-02 | 中科星图股份有限公司 | Ceph集群部署方法、系统、设备和计算机可读存储介质 |
CN111459654A (zh) * | 2019-01-22 | 2020-07-28 | 顺丰科技有限公司 | 服务器集群的部署方法、装置、设备及存储介质 |
CN111641521A (zh) * | 2020-05-11 | 2020-09-08 | 紫光云技术有限公司 | 一种基于Ambari的云上部署大数据集群的方法 |
CN111782232A (zh) * | 2020-07-31 | 2020-10-16 | 平安银行股份有限公司 | 集群的部署方法、装置、终端设备及存储介质 |
CN112769924A (zh) * | 2020-12-31 | 2021-05-07 | 平安科技(深圳)有限公司 | RocketMQ的分布式部署方法、装置、设备及介质 |
CN113448947A (zh) * | 2021-07-09 | 2021-09-28 | 烽火通信科技股份有限公司 | 一种mongo数据库分布式部署运维的方法和装置 |
CN114006815A (zh) * | 2020-07-13 | 2022-02-01 | 中移(苏州)软件技术有限公司 | 云平台节点的自动化部署方法、装置、节点及存储介质 |
CN114281349A (zh) * | 2021-12-28 | 2022-04-05 | 中国邮政储蓄银行股份有限公司 | 开源消息中间件RocketMQ集群的部署方法及装置 |
CN114610334A (zh) * | 2022-02-28 | 2022-06-10 | 珠海优特电力科技股份有限公司 | 产品可视化部署方法、装置、系统及存储介质 |
CN114675927A (zh) * | 2020-12-25 | 2022-06-28 | 北京达佳互联信息技术有限公司 | 服务实例部署方法、装置、电子设备及存储介质 |
-
2022
- 2022-08-24 CN CN202211018393.XA patent/CN115396437B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103209197A (zh) * | 2012-01-12 | 2013-07-17 | 百度在线网络技术(北京)有限公司 | 集群服务器部署方法及系统 |
US20160248510A1 (en) * | 2015-02-25 | 2016-08-25 | Ciena Corporation | Automatic configuration of network devices in a cluster based on physical deployment |
CN108549580A (zh) * | 2018-03-30 | 2018-09-18 | 平安科技(深圳)有限公司 | 自动部署Kubernetes从节点的方法及终端设备 |
CN109639489A (zh) * | 2018-12-18 | 2019-04-16 | 郑州云海信息技术有限公司 | 一种RabbitMQ集群部署方法、系统、设备和介质 |
CN111459654A (zh) * | 2019-01-22 | 2020-07-28 | 顺丰科技有限公司 | 服务器集群的部署方法、装置、设备及存储介质 |
CN110784546A (zh) * | 2019-10-31 | 2020-02-11 | 浙江大华技术股份有限公司 | 分布式集群的部署方法、服务器以及存储装置 |
CN111225064A (zh) * | 2020-02-24 | 2020-06-02 | 中科星图股份有限公司 | Ceph集群部署方法、系统、设备和计算机可读存储介质 |
CN111641521A (zh) * | 2020-05-11 | 2020-09-08 | 紫光云技术有限公司 | 一种基于Ambari的云上部署大数据集群的方法 |
CN114006815A (zh) * | 2020-07-13 | 2022-02-01 | 中移(苏州)软件技术有限公司 | 云平台节点的自动化部署方法、装置、节点及存储介质 |
CN111782232A (zh) * | 2020-07-31 | 2020-10-16 | 平安银行股份有限公司 | 集群的部署方法、装置、终端设备及存储介质 |
CN114675927A (zh) * | 2020-12-25 | 2022-06-28 | 北京达佳互联信息技术有限公司 | 服务实例部署方法、装置、电子设备及存储介质 |
CN112769924A (zh) * | 2020-12-31 | 2021-05-07 | 平安科技(深圳)有限公司 | RocketMQ的分布式部署方法、装置、设备及介质 |
CN113448947A (zh) * | 2021-07-09 | 2021-09-28 | 烽火通信科技股份有限公司 | 一种mongo数据库分布式部署运维的方法和装置 |
CN114281349A (zh) * | 2021-12-28 | 2022-04-05 | 中国邮政储蓄银行股份有限公司 | 开源消息中间件RocketMQ集群的部署方法及装置 |
CN114610334A (zh) * | 2022-02-28 | 2022-06-10 | 珠海优特电力科技股份有限公司 | 产品可视化部署方法、装置、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115396437B (zh) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107465767B (zh) | 一种数据同步的方法和系统 | |
CN108595333B (zh) | PaaS平台中应用进程的健康检查方法及装置 | |
CN109654666B (zh) | 一种调试机组的方法、装置及设备 | |
CN104486108A (zh) | 基于Zookeeper的节点配置方法和基于Zookeeper的节点配置系统 | |
JP2009259161A (ja) | ナレッジ型障害復旧支援システム、ユーザ端末、中継サーバ及びナレッジ提供サーバ並びにデータ中継方法 | |
CN113778623A (zh) | 资源处理方法和装置、电子设备及存储介质 | |
CN109697078B (zh) | 非高可用性组件的修复方法、大数据集群和容器服务平台 | |
CN114866570A (zh) | 一种信息处理方法、装置、电子设备及存储介质 | |
CN113672336A (zh) | 一种k8s容器集群部署方法、装置、设备及可读存储介质 | |
CN110569115B (zh) | 多点部署的进程管理方法及进程的争夺方法 | |
CN105897487B (zh) | 用于运维系统的设备管理方法和装置 | |
CN115396437A (zh) | 一种集群搭建方法、装置、电子设备及存储介质 | |
JP2002009791A (ja) | Ipアドレスを動的に割り当てるdhcpサーバシステム及びipアドレスを動的に割り当てるdhcpサーバ | |
CN114553900B (zh) | 一种分布式块存储管理系统、方法及电子设备 | |
JP2017027166A (ja) | 運用管理装置、運用管理プログラムおよび情報処理システム | |
CN114448941A (zh) | 一种网络设备管理方法、装置、电子设备及存储介质 | |
CN114297182A (zh) | 一种工业模型数据管理方法、装置、设备及可读存储介质 | |
CN112153093B (zh) | 基于集群的任务调度方法、装置、设备及可读存储介质 | |
CN115509676A (zh) | 一种容器集的部署方法及装置 | |
CN111338647B (zh) | 一种大数据集群管理方法和装置 | |
CN113760843A (zh) | 一种站点部署方法及终端 | |
CN113760447A (zh) | 服务管理方法、装置、设备、存储介质及程序产品 | |
CN111464357A (zh) | 资源配置方法及装置 | |
CN111274022A (zh) | 服务器资源分配方法和系统 | |
CN115811549B (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 |