CN110389832A - ZooKeeper容器集群部署方法、系统、设备及存储介质 - Google Patents
ZooKeeper容器集群部署方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN110389832A CN110389832A CN201910542910.5A CN201910542910A CN110389832A CN 110389832 A CN110389832 A CN 110389832A CN 201910542910 A CN201910542910 A CN 201910542910A CN 110389832 A CN110389832 A CN 110389832A
- Authority
- CN
- China
- Prior art keywords
- zookeeper
- container
- cluster
- mirror image
- configuration information
- 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
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
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- 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
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Abstract
本发明实施例提供了一种ZooKeeper容器集群部署方法、系统、设备及存储介质,所述部署方法包括:创建基于ZooKeeper私有容器应用商店的管理节点镜像和数据节点镜像,并将所述管理节点镜像和数据节点镜像上传到镜像仓库;创建应用程序项目并将所述应用程序项目上传到Rancher平台,所述应用程序项目用于生成部署页面,并通过所述部署页面获取部署ZooKeeper容器集群所需的配置信息,所述配置信息包括拉取的镜像名称,且所述拉取的镜像名称包括创建的管理节点镜像和数据节点镜像对应的名称;使所述Rancher平台执行所述应用程序项目以及根据获取的配置信息创建新的ZooKeeper容器集群或对已有的ZooKeeper容器集群进行扩容。本发明实施例可大大降低ZooKeeper的容器化部署的门槛,减少耗费时间。
Description
技术领域
本发明实施例涉及ZooKeeper容器化技术领域,更具体地说,涉及一种ZooKeeper容器集群部署方法、系统、设备及存储介质。
背景技术
Rancher是一个开源的企业级容器管理平台,其提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。
Rancher的用户可以在应用商店里一键部署由多个容器组成的应用。用户可以管理这个部署的应用,并且可以在这个应用有新的可用版本时进行自动化的升级。此外,Rancher的用户还可以创建自己的私有应用商店,从而相关应用的开发。
ZooKeeper是一个分布式的、开放源码的分布式应用程序协调服务,是美国谷歌公司的Chubby一个开源的实现,其主要用于为分布式应用提供一致性服务。ZooKeeper提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标是封装好复杂、易出错的关键服务,为用户提供简单易用的接口和性能高效、功能稳定的系统。
目前,zookeeper容器化技术已十分成熟,但其仍然存在以下缺陷:
(1)容器化部署繁琐,往往需要镜像创建,上传镜像,容器编排和容器部署这几步,技术门槛高,耗时长;
(2)容器应用升级麻烦,在需要升级的时候,往往都要重新修改镜像,重新部署,效率低下,耗时长。
发明内容
本发明实施例针对上述ZooKeeper容器化部署繁琐、应用升级麻烦的问题,提供一种ZooKeeper容器集群部署方法、系统、设备及存储介质。
本发明实施例解决上述技术问题的技术方案是,提供一种ZooKeeper容器集群部署方法,包括:
创建基于ZooKeeper私有容器应用商店的管理节点镜像和数据节点镜像,并将所述管理节点镜像和数据节点镜像上传到镜像仓库,所述管理节点镜像和数据节点镜像包括相同的启动脚本;
创建应用程序项目并将所述应用程序项目上传到Rancher平台,所述应用程序项目用于生成部署页面,并通过所述部署页面获取部署ZooKeeper容器集群所需的配置信息,所述配置信息包括拉取的镜像名称,且所述拉取的镜像名称包括创建的管理节点镜像和数据节点镜像对应的名称;
使所述Rancher平台执行所述应用程序项目以及根据获取的配置信息创建新的ZooKeeper容器集群或对已有的ZooKeeper容器集群进行扩容,且在创建新的ZooKeeper容器集群或对已有的ZooKeeper容器集群进行扩容时,基于所述管理节点镜像创建的主管理容器和基于所述数据节点镜像创建的数据存储容器在启动时通过执行所述启动脚本读取所述配置信息。
优选地,所述配置信息包括操作模式和环境变量,且所述操作模式包括创建ZooKeeper集群和ZooKeeper集群扩容;
在所述操作模式为创建ZooKeeper集群时,所述环境变量包括集群数量以及配置的端口;
在所述操作模式为ZooKeeper集群扩容时,所述环境变量包括初始集群的端口号、初始集群数量、扩容的数量。
优选地,所述方法包括所述主管理容器根据所述启动脚本执行以下步骤:
在所述配置信息中的操作模式为创建ZooKeeper集群时,将所述配置信息中的环境变量注册进所述主管理容器的ZooKeeper配置文件;
在所述配置信息中的操作模式为ZooKeeper集群扩容时,使用扩容的数据存储节点的配置文件覆盖原有的配置文件。
优选地,所述方法包括所述数据存储容器根据所述启动脚本执行以下步骤:
在所述配置信息中的操作模式为创建ZooKeeper集群时,将所述配置信息中的环境变量注册进所述数据管理容器的ZooKeeper配置文件;
在所述配置信息中的操作模式为ZooKeeper集群扩容时,将所述配置信息中的环境变量注册进扩容的数据存储容器的配置文件,并将新的配置文件分发给原始的数据存储容器,使原始的数据存储容器用新的配置文件覆盖原有配置文件。
本发明实施例还提供一种ZooKeeper容器集群部署系统,包括镜像创建单元、项目创建单元和部署执行单元,其中:
所述镜像创建单元,用于创建基于ZooKeeper私有容器应用商店的管理节点镜像和数据节点镜像,并将所述管理节点镜像和数据节点镜像上传到镜像仓库,所述管理节点镜像和数据节点镜像包括相同的启动脚本;
所述项目创建单元,用于创建应用程序项目并将所述应用程序项目上传到Rancher平台,所述应用程序项目用于生成部署页面,并通过所述部署页面获取部署ZooKeeper容器集群所需的配置信息,所述配置信息包括拉取的镜像名称,且所述拉取的镜像名称包括创建的管理节点镜像和数据节点镜像对应的名称;
所述部署执行单元,用于使所述Rancher平台执行所述应用程序项目以及根据获取的配置信息创建新的ZooKeeper容器集群或对已有的ZooKeeper容器集群进行扩容,且在创建新的ZooKeeper容器集群或对已有的ZooKeeper容器集群进行扩容时,基于所述管理节点镜像创建的主管理容器和基于所述数据节点镜像创建的数据存储容器在启动时通过执行所述启动脚本读取所述配置信息。
优选地,所述配置信息包括操作模式和环境变量,且所述操作模式包括创建ZooKeeper集群和ZooKeeper集群扩容;
在所述操作模式为创建ZooKeeper集群时,所述环境变量包括集群数量以及配置的端口;
在所述操作模式为ZooKeeper集群扩容时,所述环境变量包括初始集群的端口号、初始集群数量、扩容的数量。
优选地,所述启动脚本定义了由所述主管理容器执行的以下步骤:
在所述配置信息中的操作模式为创建ZooKeeper集群时,将所述配置信息中的环境变量注册进所述主管理容器的ZooKeeper配置文件;
在所述配置信息中的操作模式为ZooKeeper集群扩容时,使用扩容的数据存储节点的配置文件覆盖原有的配置文件。
优选地,所述启动脚本定义了由所述数据存储容器执行的以下步骤:
在所述配置信息中的操作模式为创建ZooKeeper集群时,将所述配置信息中的环境变量注册进所述数据管理容器的ZooKeeper配置文件;
在所述配置信息中的操作模式为ZooKeeper集群扩容时,将所述配置信息中的环境变量注册进扩容的数据存储容器的配置文件,并将新的配置文件分发给原始的数据存储容器,使原始的数据存储容器用新的配置文件覆盖原有配置文件。
本发明实施例还提供一种ZooKeeper容器集群部署设备,包括存储器和处理器,所述存储器中存储有可在所述处理器执行的计算机程序,且所述处理器执行所述计算机程序时实现如上所述ZooKeeper容器集群部署方法的步骤。
本发明实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述ZooKeeper容器集群部署方法的步骤。
本发明实施例的ZooKeeper容器集群部署方法、系统、设备及存储介质,通过ZooKeeper私有容器应用商店,大大降低了ZooKeeper的容器化部署的门槛,减少了耗费时间。通过本发明,只要在ZooKeeper私有容器应用商店中进行简单的参数配置即可秒级创建一个ZooKeeper容器集群,并可以达到秒级扩容,且扩容时不影响集群正常业务。
附图说明
图1是本发明实施例提供的ZooKeeper容器集群部署方法的流程示意图;
图2是本发明实施例提供的ZooKeeper容器集群部署方法中主管理容器执行启动脚本的示意图;
图3是本发明实施例提供的ZooKeeper容器集群部署方法中数据存储容器执行启动脚本的示意图;
图4是本发明实施例提供的ZooKeeper容器集群部署系统的示意图;
图5是本发明实施例提供的ZooKeeper容器集群部署设备的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,是本发明实施例提供的ZooKeeper容器集群部署方法的流程示意图,上述ZooKeeper容器集群基于ZooKeeper私有容器应用商店并通过Rancher平台进行部署,上述ZooKeeper容器集群部署包括创建新的ZooKeeper容器集群以及对原有ZooKeeper容器集群进行扩容。本实施例的ZooKeeper容器集群部署方法可由一个安装了Rancher平台和容器编辑软件的客户端设备执行,且该ZooKeeper容器集群部署方法包括:
步骤S11:创建基于ZooKeeper私有容器应用商店的管理节点镜像和数据节点镜像,并将管理节点镜像和数据节点镜像上传到镜像仓库(例如通过docker build和push命令),上述管理节点镜像和数据节点镜像包括相同的启动脚本。
与现有方案类似地,基于管理节点镜像创建的主管理容器和基于数据节点镜像创建的数据存储容器在启动后,需根据宿主机名(由Rancher平台指定)判断当前节点是主管理节点(即运行主管理容器的宿主机)还是数据存储节点(即运行数据存储容器的宿主机)。而与现有方案不同,本实施例中的启动脚本还定义了由基于管理节点镜像创建的主管理容器和基于数据节点镜像创建的数据存储容器在启动时执行的以下操作:读取启动时的配置信息,例如集群数量(ZooKeeper RegionServer Number)以及配置的端口(ZooKeeperMaster WebUI Port)等。
步骤S12:创建应用程序项目并将应用程序项目上传到Rancher平台,上述应用程序项目用于生成部署页面(该部署页面中具有对话框、复选框、单选框、下拉列表等中的一个或多个,从而实现用户输入),并通过部署页面获取部署ZooKeeper容器集群所需的配置信息,上述配置信息包括拉取的镜像名称,且该拉取的镜像名称至少包括步骤S11创建的管理节点镜像和数据节点镜像对应的名称。
特别地,在将镜像打包上传前,需先编写Dockerfile。Dockerfile是由一系列命令和参数构成的脚本。在编写Dockerfile时,可将相关的ZooKeeper集群组件安装包放至Dockerfile所在的目录中,并且管理节点镜像和数据节点镜像具有不同的Dockerfile。
步骤S13:使Rancher平台执行应用程序项目以及根据获取的配置信息创建新的ZooKeeper容器集群或对已有的ZooKeeper容器集群进行扩容。
具体地,在该步骤中,用户可通过客户端的WEB服务部署新的ZooKeeper容器集群或对已有的ZooKeeper容器集群进行扩容,即通过客户端的WEB服务使Rancher平台执行应用程序项目,且应用程序项目被执行时,首先生成部署页面,用户可通过部署页面输入配置信息,从而Rancher平台可根据上述配置信息获取镜像仓库中对应的管理节点镜像和数据节点镜像,并基于上述管理节点镜像和数据节点镜像创建对应的容器,实现新的ZooKeeper容器集群的创建或对已有的ZooKeeper容器集群的扩容。具体地,在创建新的ZooKeeper容器集群或对已有的ZooKeeper容器集群进行扩容时,基于管理节点镜像创建的主管理容器和基于数据节点镜像创建的数据存储容器在启动时通过执行启动脚本,以读取配置信息。
本实施例的ZooKeeper容器集群部署方法,可秒级创建一个ZooKeeper容器集群或扩容已有集群,且扩容时不影响集群正常业务,大大降低了ZooKeeper容器化部署的门槛,减少了耗费时间。
在本发明的一个实施例中,上述通过应用程序项目获取的配置信息包括操作模式和环境变量,且操作模式为创建ZooKeeper集群(deploy)或ZooKeeper集群扩容(expansion)。其中部署ZooKeeper集群即新建一个ZooKeeper容器集群,ZooKeeper集群扩容即在原ZooKeeper容器集群中增加一个或多个数据存储容器,在部署页面中可以选择以上两个操作模式中的一个。
在操作模式为创建ZooKeeper集群时,上述环境变量包括集群数量(ZooKeeperRegionServer Number)以及配置的端口(ZooKeeper Master WebUIPort);在操作模式为ZooKeeper集群扩容时,上述环境变量包括初始集群的端口号(ZooKeeper Master WebUIPort)、初始集群数量(Origin ClusterNumber)、扩容的数量(Expanxion ClusterNumber)。
在创建应用程序项目时,可先生成Rancher部署页面模板,并基于该模板进行编辑。具体地,可编辑Rancher部署页面模板中的questions.yaml文件,从而在部署ZooKeeper容器集群时,可通过questions.yaml获取操作模式,并在操作模式的基础上,进一步配置集群数量、配置的端口等环境变量,或者配置初始集群的端口号、初始集群数量、扩容的数量等环境变量。并且,还可通过values.yaml文件定义上述环境变量的默认参数(即在客户端未配置上述参数时,直接使用values.yaml文件中的默认参数作为环境变量)。
在创建应用程序项目时,还需在Rancher部署页面的templates目录中编写容器编排的程序,并在上述程序中进行操作模式匹配。
具体地,当操作模式为创建ZooKeeper集群时,对应的容器编排程序的Deployment类中需获取ZooKeeper容器集群启动页面(即部署页面)配置的集群数量,并使容器名称序号随集群数量递增,例如配置RegionServer数量为3,则部署4个容器,即一个主管理容器,三个数据存储容器:数据存储容器1、数据存储容器2和数据存储容器3。最后上述配置的参数全部注入环境变量中(从而主管理容器和数据存储容器的启动脚本就可以读取到这些值),并将HDFS数据挂载到宿主机。上述部署ZooKeeper集群的容器编排程序的Service类中还需要读取所配置的端口(由于端口是映射在同一个宿主机集群,只能唯一,所以端口号要对外映射并且随数据存储节点的数量递增。例如集群数量为3时,则三个端口可为2181、2182、2183)。
当操作模式为ZooKeeper集群扩容时,对应的容器编排程序的Deployment类中需获取ZooKeeper容器集群启动页面(即部署页面)所配置的初始集群数量、扩容的数量。同样地,需使容器序号递增并且需将配置信息注入容器环境变量。在ZooKeeper集群扩容模式下的容器编排程序的Service类中,需要获取初始集群的端口号,并根据初始集群端口号、初始集群数量和扩容的数量来对扩容容器的端口进行递增,例如扩容两个数据存储节点的端口分别为2184、2185。
如图2所示,是本发明实施例提供的ZooKeeper容器集群部署方法中主管理容器的执行启动脚本的流程示意图。基于管理节点镜像创建的主管理容器在启动后根据启动脚本执行以下操作:
步骤S21:读取通过部署页面获取的创建ZooKeeper容器集群所需的配置信息。
步骤S22:判断配置信息中的操作模式是否为创建ZooKeeper集群,并在配置信息中的操作模式为创建ZooKeeper集群时执行步骤S23,否则执行步骤S24。
步骤S23:将配置信息中的环境变量注册进主管理容器(即当前主管理容器)的ZooKeeper配置文件。
步骤S24:使用扩容的数据存储节点的配置文件覆盖原有的配置文件。扩容的数据存储节点可在创建完成后,主动将其配置文件发送到主管理容器。
如图3所示,是本发明实施例提供的ZooKeeper容器集群部署方法中数据存储容器执行启动脚本的流程示意图。基于数据节点镜像创建的数据存储容器在启动后根据启动脚本执行以下操作:
步骤S31:读取通过部署页面获取的创建ZooKeeper容器集群所需的配置信息。
步骤S32:判断配置信息中的操作模式是否为创建ZooKeeper集群,并在配置信息中的操作模式为创建ZooKeeper集群时执行步骤S33,否则执行步骤S34。
步骤S33:将配置信息中的环境变量注册进数据管理容器的ZooKeeper配置文件。
步骤S34:将配置信息中的环境变量注册进扩容的数据存储容器的配置文件,并将新的配置文件分发给原始的(即扩容前的)主管理容器和数据存储容器,使原始的主管理容器和数据存储容器使用新的配置文件覆盖原有配置文件。
如图4所示,本发明实施例还提供一种ZooKeeper容器集群部署系统,本实施例的ZooKeeper容器集群部署系统可为一个安装了Rancher平台和容器编辑软件的客户端设备,且该系统包括镜像创建单元41、项目创建单元42和部署执行单元43,上述镜像创建单元41、项目创建单元42和部署执行单元43可结合运行于计算机等设备(例如上述安装了Rancher平台和容器编辑软件的客户端设备)上的软件实现。
镜像创建单元41用于创建基于ZooKeeper私有容器应用商店的管理节点镜像和数据节点镜像,并将管理节点镜像和数据节点镜像上传到镜像仓库(例如通过docker build和push命令),上述管理节点镜像和数据节点镜像包括相同的启动脚本。
与现有方案类似地,基于管理节点镜像创建的主管理容器和基于数据节点镜像创建的数据存储容器在启动后,需根据宿主机名(由Rancher平台指定)判断当前节点是主管理节点(即运行主管理容器的宿主机)还是数据存储节点(即运行数据存储容器的宿主机)。而与现有方案不同,本实施例中的启动脚本还定义了由基于管理节点镜像创建的主管理容器和基于数据节点镜像创建的数据存储容器在启动时执行的以下操作:读取启动时的配置信息,例如集群数量(ZooKeeper RegionServer Number)以及配置的端口(ZooKeeperMaster WebUI Port)等。
并且,在将镜像打包上传前,镜像创建单元41还需先编写Dockerfile。Dockerfile是由一系列命令和参数构成的脚本。在编写Dockerfile时,可将相关的ZooKeeper集群组件安装包放至Dockerfile所在的目录中,并且管理节点镜像和数据节点镜像具有不同的Dockerfile。
项目创建单元42用于创建应用程序项目并将应用程序项目上传到Rancher平台,上述应用程序项目用于生成部署页面(该部署页面中具有对话框、复选框、单选框、下拉列表等中的一个或多个,从而实现用户输入),并通过部署页面获取部署ZooKeeper容器集群所需的配置信息,上述配置信息包括拉取的镜像名称,且该拉取的镜像名称至少包括镜像创建单元41创建的管理节点镜像和数据节点镜像对应的名称。
部署执行单元43用于使Rancher平台执行应用程序项目以及根据获取的配置信息创建新的ZooKeeper容器集群或对已有的ZooKeeper容器集群进行扩容。
具体地,部署执行单元43可通过客户端的WEB服务创建新的ZooKeeper容器集群或对已有的ZooKeeper容器集群进行扩容,即通过客户端的WEB服务使Rancher平台执行应用程序项目,且应用程序项目被执行时,首先生成部署页面,用户可通过部署页面输入配置信息,从而Rancher平台可根据上述配置信息获取镜像仓库中对应的管理节点镜像和数据节点镜像,并基于上述管理节点镜像和数据节点镜像创建对应的容器,实现新的ZooKeeper容器集群的创建或对已有的ZooKeeper容器集群的扩容。具体地,在创建新的ZooKeeper容器集群或对已有的ZooKeeper容器集群进行扩容时,基于管理节点镜像创建的主管理容器和基于数据节点镜像创建的数据存储容器在启动时通过执行启动脚本,以读取配置信息。
上述配置信息包括操作模式和环境变量,且操作模式为对已有的ZooKeeper容器集群ZooKeeper集群或ZooKeeper集群扩容;在操作模式为创建ZooKeeper集群时,环境变量包括集群数量以及配置的端口;在操作模式为ZooKeeper集群扩容时,环境变量包括初始集群的端口号、初始集群数量、扩容的数量。
此外,上述启动脚本定义了由主管理容器执行的以下步骤:读取通过部署页面获取的创建ZooKeeper容器集群所需的配置信息;在配置信息中的操作模式为创建ZooKeeper集群时将配置信息中的环境变量注册进主管理容器(即当前主管理容器)的ZooKeeper配置文件,否则使用扩容的数据存储节点的配置文件覆盖原有的配置文件。
上述启动脚本还定义了由数据存储容器执行的以下步骤:读取通过部署页面获取的创建ZooKeeper容器集群所需的配置信息;在配置信息中的操作模式为创建ZooKeeper集群时,将配置信息中的环境变量注册进数据管理容器的ZooKeeper配置文件;否则将配置信息中的环境变量注册进扩容的数据存储容器的配置文件,并将新的配置文件分发给原始的(即扩容前的)主管理容器和数据存储容器,使原始的主管理容器和数据存储容器使用新的配置文件覆盖原有配置文件。
本实施例中的ZooKeeper容器集群部署系统与上述图1-3对应实施例中的ZooKeeper容器集群部署方法属于同一构思,其具体实现过程详细见对应的方法实施例,且方法实施例中的技术特征在本设备实施例中均对应适用,这里不再赘述。
本发明实施例还提供一种ZooKeeper容器集群部署设备5,该设备5具体可以是部署了Rancher平台的客户端,如图5所示,该ZooKeeper容器集群部署设备5包括存储器51和处理器52,存储器51中存储有可在处理器52执行的计算机程序,且处理器52执行计算机程序时实现如上所述ZooKeeper容器集群部署方法的步骤。
本实施例中的ZooKeeper容器集群部署设备5与上述图1-3对应实施例中的ZooKeeper容器集群部署方法属于同一构思,其具体实现过程详细见对应的方法实施例,且方法实施例中的技术特征在本设备实施例中均对应适用,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,该存储介质上存储有计算机程序,计算机程序被处理器执行时,实现如上所述ZooKeeper容器集群部署方法的步骤。本实施例中的计算机可读存储介质与上述图1-3对应实施例中的ZooKeeper容器集群部署方法属于同一构思,其具体实现过程详细见对应的方法实施例,且方法实施例中的技术特征在本设备实施例中均对应适用,这里不再赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成。实施例中的各功能单元、模块可以集成在一个处理器中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的应用程序容器集群报警实现方法、系统及设备,可以通过其它的方式实现。例如,以上所描述的应用程序容器集群报警实现系统实施例仅仅是示意性的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理器中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或界面切换设备、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种ZooKeeper容器集群部署方法,其特征在于,包括:
创建基于ZooKeeper私有容器应用商店的管理节点镜像和数据节点镜像,并将所述管理节点镜像和数据节点镜像上传到镜像仓库,所述管理节点镜像和数据节点镜像包括相同的启动脚本;
创建应用程序项目并将所述应用程序项目上传到Rancher平台,所述应用程序项目用于生成部署页面,并通过所述部署页面获取部署ZooKeeper容器集群所需的配置信息,所述配置信息包括拉取的镜像名称,且所述拉取的镜像名称包括创建的管理节点镜像和数据节点镜像对应的名称;
使所述Rancher平台执行所述应用程序项目以及根据获取的配置信息创建新的ZooKeeper容器集群或对已有的ZooKeeper容器集群进行扩容,且在创建新的ZooKeeper容器集群或对已有的ZooKeeper容器集群进行扩容时,基于所述管理节点镜像创建的主管理容器和基于所述数据节点镜像创建的数据存储容器在启动时通过执行所述启动脚本读取所述配置信息。
2.根据权利要求1所述的ZooKeeper容器集群部署方法,其特征在于,所述配置信息包括操作模式和环境变量,且所述操作模式包括创建ZooKeeper集群和ZooKeeper集群扩容;
在所述操作模式为创建ZooKeeper集群时,所述环境变量包括集群数量以及配置的端口;
在所述操作模式为ZooKeeper集群扩容时,所述环境变量包括初始集群的端口号、初始集群数量、扩容的数量。
3.根据权利要求2所述的ZooKeeper容器集群部署方法,其特征在于,所述方法包括所述主管理容器根据所述启动脚本执行以下步骤:
在所述配置信息中的操作模式为创建ZooKeeper集群时,将所述配置信息中的环境变量注册进所述主管理容器的ZooKeeper配置文件;
在所述配置信息中的操作模式为ZooKeeper集群扩容时,使用扩容的数据存储节点的配置文件覆盖原有的配置文件。
4.根据权利要求3所述的ZooKeeper容器集群部署方法,其特征在于,所述方法包括所述数据存储容器根据所述启动脚本执行以下步骤:
在所述配置信息中的操作模式为创建ZooKeeper集群时,将所述配置信息中的环境变量注册进所述数据管理容器的ZooKeeper配置文件;
在所述配置信息中的操作模式为ZooKeeper集群扩容时,将所述配置信息中的环境变量注册进扩容的数据存储容器的配置文件,并将新的配置文件分发给原始的数据存储容器,使原始的数据存储容器用新的配置文件覆盖原有配置文件。
5.一种ZooKeeper容器集群部署系统,其特征在于,包括镜像创建单元、项目创建单元和部署执行单元,其中:
所述镜像创建单元,用于创建基于ZooKeeper私有容器应用商店的管理节点镜像和数据节点镜像,并将所述管理节点镜像和数据节点镜像上传到镜像仓库,所述管理节点镜像和数据节点镜像包括相同的启动脚本;
所述项目创建单元,用于创建应用程序项目并将所述应用程序项目上传到Rancher平台,所述应用程序项目用于生成部署页面,并通过所述部署页面获取部署ZooKeeper容器集群所需的配置信息,所述配置信息包括拉取的镜像名称,且所述拉取的镜像名称包括创建的管理节点镜像和数据节点镜像对应的名称;
所述部署执行单元,用于使所述Rancher平台执行所述应用程序项目以及根据获取的配置信息创建新的ZooKeeper容器集群或对已有的ZooKeeper容器集群进行扩容,且在创建新的ZooKeeper容器集群或对已有的ZooKeeper容器集群进行扩容时,基于所述管理节点镜像创建的主管理容器和基于所述数据节点镜像创建的数据存储容器在启动时通过执行所述启动脚本读取所述配置信息。
6.根据权利要求5所述的ZooKeeper容器集群部署系统,其特征在于,所述配置信息包括操作模式和环境变量,且所述操作模式包括创建ZooKeeper集群和ZooKeeper集群扩容;
在所述操作模式为创建ZooKeeper集群时,所述环境变量包括集群数量以及配置的端口;
在所述操作模式为ZooKeeper集群扩容时,所述环境变量包括初始集群的端口号、初始集群数量、扩容的数量。
7.根据权利要求6所述的ZooKeeper容器集群部署系统,其特征在于,所述启动脚本定义了由所述主管理容器执行的以下步骤:
在所述配置信息中的操作模式为创建ZooKeeper集群时,将所述配置信息中的环境变量注册进所述主管理容器的ZooKeeper配置文件;
在所述配置信息中的操作模式为ZooKeeper集群扩容时,使用扩容的数据存储节点的配置文件覆盖原有的配置文件。
8.根据权利要求7所述的ZooKeeper容器集群部署系统,其特征在于,所述启动脚本定义了由所述数据存储容器执行的以下步骤:
在所述配置信息中的操作模式为创建ZooKeeper集群时,将所述配置信息中的环境变量注册进所述数据管理容器的ZooKeeper配置文件;
在所述配置信息中的操作模式为ZooKeeper集群扩容时,将所述配置信息中的环境变量注册进扩容的数据存储容器的配置文件,并将新的配置文件分发给原始的数据存储容器,使原始的数据存储容器用新的配置文件覆盖原有配置文件。
9.一种ZooKeeper容器集群部署设备,其特征在于,包括存储器和处理器,所述存储器中存储有可在所述处理器执行的计算机程序,且所述处理器执行所述计算机程序时实现如权利要求1-4中任一项所述ZooKeeper容器集群部署方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至4中任一项所述ZooKeeper容器集群部署方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910542910.5A CN110389832B (zh) | 2019-06-21 | 2019-06-21 | ZooKeeper容器集群部署方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910542910.5A CN110389832B (zh) | 2019-06-21 | 2019-06-21 | ZooKeeper容器集群部署方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110389832A true CN110389832A (zh) | 2019-10-29 |
CN110389832B CN110389832B (zh) | 2022-12-27 |
Family
ID=68285637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910542910.5A Active CN110389832B (zh) | 2019-06-21 | 2019-06-21 | ZooKeeper容器集群部署方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110389832B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928668A (zh) * | 2019-12-09 | 2020-03-27 | 北京思特奇信息技术股份有限公司 | 一种基于ZooKeeper实现云化任务编排调度的方法和系统 |
CN111026414A (zh) * | 2019-12-12 | 2020-04-17 | 杭州安恒信息技术股份有限公司 | 一种基于kubernetes的HDP平台部署方法 |
CN111277460A (zh) * | 2020-01-17 | 2020-06-12 | 江苏满运软件科技有限公司 | 一种ZooKeeper容器化控制的方法、装置、存储介质及电子设备 |
CN112068847A (zh) * | 2020-09-07 | 2020-12-11 | 海南大学 | 基于kubernets平台的计算环境部署方法及装置 |
CN112328184A (zh) * | 2020-12-03 | 2021-02-05 | 北京联创信安科技股份有限公司 | 一种集群扩容方法、装置、设备及存储介质 |
CN112596740A (zh) * | 2020-12-28 | 2021-04-02 | 北京千方科技股份有限公司 | 一种程序部署方法及装置 |
CN113064598A (zh) * | 2021-03-24 | 2021-07-02 | 上海铼锶信息技术有限公司 | 容器集群管理系统部署方法及部署系统 |
CN113645071A (zh) * | 2021-08-10 | 2021-11-12 | 广域铭岛数字科技有限公司 | 一种集群部署方法、系统、介质及电子终端 |
CN113900670A (zh) * | 2021-12-08 | 2022-01-07 | 深圳市名竹科技有限公司 | 集群服务器应用部署系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030135724A1 (en) * | 2001-12-12 | 2003-07-17 | Gayathri Krishnamurthy | Partitioning symmetric nodes efficiently in a split register file architecture |
CN106096038A (zh) * | 2016-06-28 | 2016-11-09 | 浪潮软件股份有限公司 | 一种云计算架构下的分布式数据库架构 |
CN106792825A (zh) * | 2016-12-29 | 2017-05-31 | 河北远东通信系统工程有限公司 | 一种分布式网络设备的管理方法 |
US20170249087A1 (en) * | 2016-02-25 | 2017-08-31 | Datos IO Inc. | Sub-cluster recovery using a partition group index |
CN109271233A (zh) * | 2018-07-25 | 2019-01-25 | 上海数耕智能科技有限公司 | 基于Kubernetes组建Hadoop集群的实现方法 |
CN109814881A (zh) * | 2017-11-21 | 2019-05-28 | 北京京东尚科信息技术有限公司 | 用于部署数据库集群的方法和装置 |
-
2019
- 2019-06-21 CN CN201910542910.5A patent/CN110389832B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030135724A1 (en) * | 2001-12-12 | 2003-07-17 | Gayathri Krishnamurthy | Partitioning symmetric nodes efficiently in a split register file architecture |
US20170249087A1 (en) * | 2016-02-25 | 2017-08-31 | Datos IO Inc. | Sub-cluster recovery using a partition group index |
CN106096038A (zh) * | 2016-06-28 | 2016-11-09 | 浪潮软件股份有限公司 | 一种云计算架构下的分布式数据库架构 |
CN106792825A (zh) * | 2016-12-29 | 2017-05-31 | 河北远东通信系统工程有限公司 | 一种分布式网络设备的管理方法 |
CN109814881A (zh) * | 2017-11-21 | 2019-05-28 | 北京京东尚科信息技术有限公司 | 用于部署数据库集群的方法和装置 |
CN109271233A (zh) * | 2018-07-25 | 2019-01-25 | 上海数耕智能科技有限公司 | 基于Kubernetes组建Hadoop集群的实现方法 |
Non-Patent Citations (3)
Title |
---|
CHEE-WEI ANG ET.AL: "Analysis and optimization of service", 《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》 * |
刘熙: "基于Docker容器的Web集群部署与扩容系统", 《全国优秀硕士学位论文全文数据库 信息科技辑》 * |
董龙成: "基于ZooKeeper的配置中心系统设计与实现", 《全国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928668A (zh) * | 2019-12-09 | 2020-03-27 | 北京思特奇信息技术股份有限公司 | 一种基于ZooKeeper实现云化任务编排调度的方法和系统 |
CN110928668B (zh) * | 2019-12-09 | 2022-06-07 | 北京思特奇信息技术股份有限公司 | 一种基于ZooKeeper实现云化任务编排调度的方法和系统 |
CN111026414A (zh) * | 2019-12-12 | 2020-04-17 | 杭州安恒信息技术股份有限公司 | 一种基于kubernetes的HDP平台部署方法 |
CN111026414B (zh) * | 2019-12-12 | 2023-09-08 | 杭州安恒信息技术股份有限公司 | 一种基于kubernetes的HDP平台部署方法 |
CN111277460B (zh) * | 2020-01-17 | 2022-02-25 | 江苏满运软件科技有限公司 | 一种ZooKeeper容器化控制的方法、装置、存储介质及电子设备 |
CN111277460A (zh) * | 2020-01-17 | 2020-06-12 | 江苏满运软件科技有限公司 | 一种ZooKeeper容器化控制的方法、装置、存储介质及电子设备 |
CN112068847A (zh) * | 2020-09-07 | 2020-12-11 | 海南大学 | 基于kubernets平台的计算环境部署方法及装置 |
CN112068847B (zh) * | 2020-09-07 | 2022-05-13 | 海南大学 | 基于kubernets平台的计算环境部署方法及装置 |
CN112328184A (zh) * | 2020-12-03 | 2021-02-05 | 北京联创信安科技股份有限公司 | 一种集群扩容方法、装置、设备及存储介质 |
CN112328184B (zh) * | 2020-12-03 | 2023-11-21 | 北京联创信安科技股份有限公司 | 一种集群扩容方法、装置、设备及存储介质 |
CN112596740A (zh) * | 2020-12-28 | 2021-04-02 | 北京千方科技股份有限公司 | 一种程序部署方法及装置 |
CN113064598A (zh) * | 2021-03-24 | 2021-07-02 | 上海铼锶信息技术有限公司 | 容器集群管理系统部署方法及部署系统 |
CN113064598B (zh) * | 2021-03-24 | 2024-02-06 | 上海铼锶信息技术有限公司 | 容器集群管理系统部署方法及部署系统 |
CN113645071A (zh) * | 2021-08-10 | 2021-11-12 | 广域铭岛数字科技有限公司 | 一种集群部署方法、系统、介质及电子终端 |
CN113645071B (zh) * | 2021-08-10 | 2022-12-09 | 广域铭岛数字科技有限公司 | 一种集群部署方法、系统、介质及电子终端 |
CN113900670A (zh) * | 2021-12-08 | 2022-01-07 | 深圳市名竹科技有限公司 | 集群服务器应用部署系统 |
CN113900670B (zh) * | 2021-12-08 | 2022-03-18 | 深圳市名竹科技有限公司 | 集群服务器应用部署系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110389832B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389832A (zh) | ZooKeeper容器集群部署方法、系统、设备及存储介质 | |
CN109542556B (zh) | 一种基于Activiti的流程与表单交互方法及系统 | |
CN110389766A (zh) | HBase容器集群部署方法、系统、设备及计算机可读存储介质 | |
CN104020997B (zh) | 可扩展图形化规则应用系统 | |
CN110058856A (zh) | 页面配置方法及装置 | |
CN110825362A (zh) | 低代码应用软件开发系统及方法 | |
CN110166312A (zh) | 使用随机测试床自动创建网络装置模型 | |
WO2015078343A1 (zh) | 用于web开发系统的开发方法和web开发系统 | |
CN105487864A (zh) | 代码自动生成的方法和装置 | |
CN103744647B (zh) | 一种基于工作流可视化开发工具的Java工作流开发系统及其方法 | |
CN106293664A (zh) | 代码生成方法及装置 | |
CN102663103A (zh) | 可配置的自动化生成数据库和数据访问的方法 | |
US20140040791A1 (en) | Development platform for software as a service (saas) in a multi-tenant environment | |
CN105094818A (zh) | 基于soa的自然资源综合应用构建方法及系统 | |
CN107273122A (zh) | 基于解耦机制的可迭代组建业务系统的方法及其终端 | |
US20210385133A1 (en) | Learning by inference from previous deployments | |
CN105512304A (zh) | 在线生成互联网应用方法和系统集成方法及支撑平台 | |
CN109062568A (zh) | 一种项目生成方法及工具 | |
CN111124636A (zh) | 一种流程编排引擎及其控制方法 | |
CN108469953A (zh) | 一种页面表单的生成方法、服务器及存储介质 | |
CN106155719A (zh) | 一种利用USB装置实现openstack快速部署的方法及系统 | |
CN115878092A (zh) | 一种基于微服务架构的代码生成方法、设备及介质 | |
CN106371931B (zh) | 一种基于Web框架的高性能地学计算服务系统 | |
CN103984554B (zh) | 软件设计文档的生成方法及装置 | |
CN114912897A (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 |