CN110389766A - HBase容器集群部署方法、***、设备及计算机可读存储介质 - Google Patents
HBase容器集群部署方法、***、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110389766A CN110389766A CN201910543672.XA CN201910543672A CN110389766A CN 110389766 A CN110389766 A CN 110389766A CN 201910543672 A CN201910543672 A CN 201910543672A CN 110389766 A CN110389766 A CN 110389766A
- Authority
- CN
- China
- Prior art keywords
- hbase
- 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
- 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/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种HBase容器集群部署方法、***、设备及存储介质,所述方法包括:创建基于HBase私有容器应用商店的管理节点镜像和数据节点镜像,并将所述管理节点镜像和数据节点镜像上传到镜像仓库,所述管理节点镜像和数据节点镜像包括相同的启动脚本;创建应用程序项目并将所述应用程序项目上传到Rancher平台,所述应用程序项目用于生成部署页面,并通过所述部署页面获取部署HBase容器集群所需的配置信息,所述配置信息包括拉取的镜像名称;使所述Rancher平台执行所述应用程序项目以及根据获取的配置信息创建新的HBase容器集群或对已有的HBase容器集群进行扩容。本发明实施例可大大降低Hadoop和HBase的容器化部署的门槛,减少耗费时间。
Description
技术领域
本发明实施例涉及HBase容器化技术领域,更具体地说,涉及一种HBase容器集群部署方法、***、设备及计算机可读存储介质。
背景技术
Rancher是一个开源的企业级容器管理平台,其提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。
Rancher的用户可以在应用商店里一键部署由多个容器组成的应用。用户可以管理这个部署的应用,并且可以在这个应用有新的可用版本时进行自动化的升级。此外,Rancher的用户还可以创建自己的私有应用商店,从而相关应用的开发。
HBase是一个主从架构的分布式***,其可提供快速随机访问海量结构化数据(亿万行数据)。通常,在部署HBase之前,必须先部署Hadoop和Zookeeper,从而HBase可利用HDFS(Hadoop Distributed File System,Hadoop分布式文件***)提供的数据容错能力和ZooKeeper提供的高可用能力。
目前HBase容器化技术已十分成熟,但是其有下面缺陷:
(1)容器化部署繁琐,往往需要创建镜像、上传镜像、容器编排和容器部署这几步,技术门槛高,耗时长;
(2)容器应用升级麻烦,在需要升级的时候,往往都要重新修改镜像,重新部署,效率低下,耗时长。
发明内容
本发明实施例针对上述目前HBase容器化部署繁琐、应用升级麻烦的问题,提供一种HBase容器集群部署方法、***、设备及存储介质。
本发明解决上述技术问题的技术方案是,提供一种HBase容器集群部署方法,包括:
创建基于HBase私有容器应用商店的管理节点镜像和数据节点镜像,并将所述管理节点镜像和数据节点镜像上传到镜像仓库,所述管理节点镜像和数据节点镜像包括相同的启动脚本,且所述启动脚本在被执行时,使使基于所述管理节点镜像创建的主管理容器和基于所述数据节点镜像创建的数据存储容器在启动后进行双向通信;
创建应用程序项目并将所述应用程序项目上传到Rancher平台,所述应用程序项目用于生成部署页面,并通过所述部署页面获取部署HBase容器集群所需的配置信息,所述配置信息包括拉取的镜像名称,且所述拉取的镜像名称包括创建的管理节点镜像和数据节点镜像对应的名称;
使所述Rancher平台执行所述应用程序项目以及根据获取的配置信息创建新的HBase容器集群或对已有的HBase容器集群进行扩容。
优选地,所述配置信息包括操作模式和环境变量,且所述操作模式为创建HBase集群或HBase集群扩容;
在所述操作模式为创建HBase集群时,所述环境变量包括集群数量以及配置的端口;
在所述操作模式为HBase集群扩容时,所述环境变量包括初始集群的端口号、初始集群数量、扩容的数量。
优选地,所述方法包括所述主管理容器根据所述启动脚本执行以下步骤:
接收由所述数据存储容器发送的所述数据存储容器所在的宿主机的信息;
实时向所有数据存储容器广播通过所述部署页面获取的部署所述HBase容器集群所需的配置信息;
在所述配置信息中的操作模式为创建HBase集群时,根据所述配置信息中的集群数量以及配置的端口启动HDFS程序,并在等待预设时间后启动HBase程序;
在所述配置信息中的操作模式为HBase集群扩容,且接收到来自扩容的数据存储容器的扩容成功消息时,使所述HDFS程序刷新数据存储节点列表及均衡负载。
优选地,所述方法包括所述数据存储容器根据所述启动脚本执行以下步骤:
实时向所述主管理容器发送当前数据存储容器所在的宿主机的信息;
接收所述主管理容器广播的配置信息,并根据所述配置信息中的初始集群的端口号修改HDFS程序和HBase程序;
在所述配置信息中的操作模式为HBase集群扩容时,基于所述数据节点镜像启动数据存储容器,并在所述数据存储容器启动成功后向所述主管理容器发送扩容成功消息。
本发明实施例还提供一种HBase容器集群部署***,包括镜像创建单元、项目创建单元和部署执行单元,其中:
所述镜像创建单元,用于创建基于HBase私有容器应用商店的管理节点镜像和数据节点镜像,并将所述管理节点镜像和数据节点镜像上传到镜像仓库,所述管理节点镜像和数据节点镜像包括相同的启动脚本;
所述项目创建单元,用于创建应用程序项目并将所述应用程序项目上传到Rancher平台,所述应用程序项目用于生成部署页面,并通过所述部署页面获取部署HBase容器集群所需的配置信息,所述配置信息包括拉取的镜像名称,且所述拉取的镜像名称包括创建的管理节点镜像和数据节点镜像对应的名称;
所述部署执行单元,用于使所述Rancher平台执行所述应用程序项目以及根据获取的配置信息创建新的HBase容器集群或对已有的HBase容器集群进行扩容,并通过所述启动脚本使基于所述管理节点镜像创建的主管理容器和基于所述数据节点镜像创建的数据存储容器在启动后进行双向通信。
优选地,所述配置信息包括操作模式和环境变量,且所述操作模式为创建HBase集群或HBase集群扩容;
在所述操作模式为创建HBase集群时,所述环境变量包括集群数量以及配置的端口;
在所述操作模式为HBase集群扩容时,所述环境变量包括初始集群的端口号、初始集群数量、扩容的数量。
优选地,所述启动脚本定义了由所述主管理容器执行的以下步骤:
接收由所述数据存储容器发送的所述数据存储容器所在的宿主机的信息;
实时向所有数据存储容器广播通过所述部署页面获取的部署所述HBase容器集群所需的配置信息;
在所述配置信息中的操作模式为创建HBase集群时,根据所述配置信息中的集群数量以及配置的端口启动HDFS程序,并在等待预设时间后启动HBase程序;
在所述配置信息中的操作模式为HBase集群扩容,且接收到来自扩容的数据存储容器的扩容成功消息时,使所述HDFS程序刷新数据存储节点列表及均衡负载。
优选地,所述启动脚本定义了由所述数据存储容器执行的以下步骤:
实时向所述主管理容器发送当前数据存储容器所在的宿主机的信息;
接收所述主管理容器广播的配置信息,并根据所述配置信息中的初始集群的端口号修改HDFS程序和HBase程序;
在所述配置信息中的操作模式为HBase集群扩容时,基于所述数据节点镜像启动数据存储容器,并在所述数据存储容器启动成功后向所述主管理容器发送扩容成功消息。
本发明实施例还提供一种HBase容器集群部署设备,包括存储器和处理器,所述存储器中存储有可在所述处理器执行的计算机程序,且所述处理器执行所述计算机程序时实现如上任一项所述HBase容器集群部署方法的步骤。
本发明实施例还提供一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如上任一项所述HBase容器集群部署方法的步骤。
本发明实施例的HBase容器集群部署方法、***、设备及存储介质,通过HBase私有容器应用商店,大大降低了Hadoop和HBase的容器化部署的门槛,减少了耗费时间,即只要在应用商店中进行简单的参数配置即可秒级部署一个拥有Hadoop和HBase的容器集群,并可以达到秒级扩容,且扩容时不影响集群正常业务。
附图说明
图1是本发明实施例提供的HBase容器集群部署方法的流程示意图;
图2是本发明实施例提供的HBase容器集群部署方法中主管理容器执行操作的示意图;
图3是本发明实施例提供的HBase容器集群部署方法中数据存储容器执行操作的示意图;
图4是本发明实施例提供的HBase容器集群部署***的示意图;
图5是本发明实施例提供的HBase容器集群部署设备的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,是本发明实施例提供的HBase容器集群部署方法的流程示意图,上述HBase容器集群基于HBase私有容器应用商店并通过Rancher平台进行部署,上述HBase容器集群部署包括创建新的HBase容器集群以及对原有HBase容器集群进行扩容。本实施例的HBase容器集群部署方法可由一个安装有Rancher平台及容器编辑软件的客户端设备执行,且该HBase容器集群部署方法包括:
步骤S11:创建基于HBase私有容器应用商店的管理节点镜像和数据节点镜像,并将上述创建的管理节点镜像和数据节点镜像上传到镜像仓库(例如通过docker build和push命令),且上述管理节点镜像和数据节点镜像包括相同的启动脚本。
与现有方案不同,本实施例中的管理节点镜像和数据节点镜像的启动脚本不仅要读取启动应用商店时用户的配置,还要实现主管理节点(Master,即运行有主管理容器的宿主机)和数据存储节点(Slave,即运行有数据存储容器的宿主机)之间的双向通信。即基于管理节点镜像创建的主管理容器和基于数据节点镜像创建的数据存储容器在启动后,首先根据宿主机名(由Rancher平台指定)判断当前节点是主管理节点(即运行主管理容器的宿主机)还是数据存储节点(即运行数据存储容器的宿主机),并在确定后让两种节点(即主管理节点和数据存储节点)一直保持通信,并双向注册宿主机信息和数据管理节点文件(HDFS和HBase程序所需)。
特别地,在将镜像打包上传前,需先编写Dockerfile。Dockerfile是由一系列命令和参数构成的脚本。在编写Dockerfile时,可将相关的Hbase集群组件安装包放至Dockerfile所在的目录中,并且管理节点镜像和数据节点镜像具有不同的Dockerfile。
步骤S12:创建应用程序项目并将创建的应用程序项目上传到Rancher平台。上述应用程序项目用于在Rancher平台生成部署页面(该部署页面中具有对话框、复选框、单选框、下拉列表等中的一个或多个,从而实现用户输入),并通过该部署页面获取部署HBase容器集群所需的配置信息,上述配置信息包括拉取的镜像名称,且上述拉取的镜像名称至少包括步骤S11创建的管理节点镜像和数据节点镜像对应的名称。
步骤S13:使Rancher平台执行应用程序项目以及根据获取的配置信息(即通过应用程序项的部署页面获取的配置信息)创建新的HBase容器集群或对已有的HBase容器集群进行扩容。
具体地,在该步骤中,用户可通过客户端的WEB服务创建新的HBase容器集群或对已有的HBase容器集群进行扩容,即通过客户端的WEB服务使应用程序项目创建按部署页面,并根据用户在部署页面中输入的配置信息,可秒级创建一个拥有Hadoop和HBase的容器集群,并可以达到秒级扩容,且扩容时不影响集群正常业务,大大降低了Hadoop和HBase的容器化部署的门槛,减少了耗费时间。
在本发明的一个实施例中,上述通过部署页面获取的配置信息包括操作模式和环境变量。操作模式具体包括创建HBase集群(deploy)和HBase集群扩容(expansion),其中创建HBase集群即新建一个Hbase容器集群,HBase集群扩容即在原Hbase容器集群中增加一个或多个数据存储容器,在部署页面中可以选择以上两个中的一个。
在操作模式为创建HBase集群时,上述环境变量进一步包括集群数量(HBaseRegionServer Number)以及配置的端口(HBase Master WebUI Port);在操作模式为HBase集群扩容时,上述环境变量进一步包括初始集群的端口号(HBase Master WebUI Port)、初始集群数量(Origin Cluster Number)、扩容的数量(Expanxion Cluster Number)。
在创建应用程序项目时,可先生成Rancher部署页面模板,并基于该模板进行编辑。具体地,可编辑Rancher部署页面模板中的questions.yaml文件,从而在部署HBase容器集群时,可通过questions.yaml获取操作模式,并在操作模式的基础上,配置集群数量、配置的端口,或者配置初始集群的端口号、初始集群数量、扩容的数量。并且,还可通过values.yaml文件定义上述环境变量的默认参数(即在客户端未配置上述参数时,直接使用values.yaml文件中的默认参数作为环境变量)。
在创建应用程序项目时,还需在应用程序项目的templates目录中编写容器编排的程序,并在上述程序中进行操作模式匹配。具体地,当操作模式为创建HBase集群时,对应的容器编排程序的Deployment类中需获取HBase容器集群启动页面(即部署页面)传入的所配置的集群数量,并使容器名称序号随集群数量递增,例如配置RegionServer数量为3,则创建四个容器,即一个主管理容器,数据存储容器1、数据存储容器2和数据存储容器3。最后上述配置的参数全部注入环境变量中(从而主管理容器和数据存储容器的启动脚本就可以读取到这些值),并将HDFS数据挂载到宿主机。上述对应容器编排程序的Service类中还需要读取所配置的端口(由于端口是映射在同一个宿主机集群,只能唯一,所以端口号要对外映射并且随数据存储节点的数量递增。例如集群数量为3时,则三个端口可为2181、2182、2183)。
当操作模式为HBase集群扩容时,对应的程序的Deployment类中需获取HBase容器集群启动页面传入的所配置的初始集群数量、扩容的数量。同样地,需使容器序号递增并且需将配置信息注入容器环境变量。在HBase集群扩容模式下的程序的Service类中,需要获取初始集群的端口号,并根据初始集群端口号、初始集群数量和扩容的数量来对扩容容器的端口进行递增,例如扩容两个数据存储节点的端口分别为2184、2185。
如图2所示,是本发明实施例提供的HBase容器集群部署方法中主管理容器执行启动脚本的流程示意图。基于管理节点镜像创建的主管理容器在启动后根据启动脚本执行以下操作:
步骤S21:接收由每一数据存储容器发送的该数据存储容器所在的宿主机的信息,例如宿主机名等。
步骤S22:实时向所有数据存储容器广播通过应用程序项目创建的部署页面获取的创建HBase容器集群所需的配置信息。具体地,主管理容器可读取部署页面获取的环境变量(具体来自Deployment类),并将该环境变量注入Zookeeper的配置文件。
步骤S23:判断配置信息中的操作模式是否为创建HBase集群,并在配置信息中的操作模式为创建HBase集群时执行步骤S24,否则执行步骤S25。
步骤S24:根据配置信息中的集群数量以及配置的端口启动HDFS程序,并在等待预设时间(例如几秒)后启动HBase程序,完成HBase容器集群创建。
步骤S25:在接收到来自扩容的数据存储容器的扩容成功消息时,使HDFS程序刷新数据存储节点列表及均衡负载,完成HBase容器集群扩容。
如图3所示,是本发明实施例提供的HBase容器集群部署方法中数据存储容器执行启动脚本的流程示意图。基于数据节点镜像创建的数据存储容器在启动后根据启动脚本执行以下操作:
步骤S31:实时向主管理容器发送当前数据存储容器所在的宿主机的信息,例如宿主机名等。
步骤S32:接收主管理容器广播的配置信息,并根据配置信息中初始集群的端口号修改HDFS程序和HBase程序。
步骤S33:在配置信息中的操作模式为HBase集群扩容时,基于数据节点镜像启动数据存储容器,并在数据存储容器启动成功后向主管理容器发送扩容成功消息,完成HBase容器集群扩容。在配置信息中的操作模式为创建HBase集群时则不执行操作。
如图4所示,本发明实施例还提供一种HBase容器集群部署***,本实施例的HBase容器集群部署***可为一个安装了Rancher平台及容器编辑软件的客户端设备,且该***包括镜像创建单元41、项目创建单元42和部署执行单元43,上述镜像创建单元41、项目创建单元42及部署执行单元43可结合运行于计算机等设备(例如上述安装有Rancher平台及容器编辑软件的客户端设备)上的软件实现。
镜像创建单元41用于创建基于HBase私有容器应用商店的管理节点镜像和数据节点镜像,并将管理节点镜像和数据节点镜像上传到镜像仓库,上述管理节点镜像和数据节点镜像包括相同的启动脚本。
上述启动脚本不仅要读取启动应用商店时用户的配置,还要实现主管理节点(Master,即运行有主管理容器的宿主机)和数据存储节点(Slave,即运行有数据存储容器的宿主机)之间的双向通信。具体地,主管理节点和数据存储节点在执行启动时,首先根据宿主机名(由Rancher平台指定)判断当前节点是主管理节点(即运行主管理容器的宿主机)还是数据存储节点(即运行数据存储容器的宿主机),并在确定后让两种节点(即主管理节点和数据存储节点)一直保持通信,并双向注册宿主机信息和数据管理节点文件(HDFS和HBase程序所需)。
并且,在将镜像打包上传前,镜像创建单元41还需先编写Dockerfile。Dockerfile是由一系列命令和参数构成的脚本。在编写Dockerfile时,可将相关的HBase集群组件安装包放至Dockerfile所在的目录中,并且管理节点镜像和数据节点镜像具有不同的Dockerfile。
项目创建单元42用于创建应用程序项目并将应用程序项目上传到Rancher平台,上述应用程序项目用于生成部署页面(该部署页面中具有对话框、复选框、单选框、下拉列表等中的一个或多个,从而实现用户输入),并通过部署页面获取部署HBase容器集群所需的配置信息,上述配置信息包括拉取的镜像名称,且上述拉取的镜像名称包括创建的管理节点镜像和数据节点镜像对应的名称。
部署执行单元43用于使Rancher平台执行应用程序项目以及根据获取的配置信息(即通过应用程序项的部署页面获取的配置信息)创建新的HBase容器集群或对已有的HBase容器集群进行扩容。
在本发明的一个实施例中,上述通过部署页面获取的配置信息包括操作模式和环境变量。操作模式具体包括创建HBase集群和HBase集群扩容,在部署页面中可以选择以上两个中的一个。并且,在操作模式为创建HBase集群时,上述环境变量包括集群数量以及配置的端口;在操作模式为HBase集群扩容时,上述环境变量包括初始集群的端口号、初始集群数量、扩容的数量。
特别地,上述启动脚本定义了由主管理容器执行的以下步骤:接收由数据存储容器发送的所述数据存储容器所在的宿主机的信息;实时向数据存储容器广播通过部署页面获取的部署HBase容器集群所需的配置信息;在配置信息中的操作模式为创建HBase集群时,根据配置信息中的集群数量以及配置的端口启动HDFS程序,并在等待预设时间后启动HBase程序;在配置信息中的操作模式为HBase集群扩容,且接收到来自扩容的数据存储容器的扩容成功消息时,使HDFS程序刷新数据存储节点列表及均衡负载。
此外,上述启动脚本还定义了由数据存储容器执行的以下步骤:实时向主管理容器发送当前数据存储容器所在的宿主机的信息;接收主管理容器广播的配置信息,并根据配置信息中的初始集群的端口号修改HDFS程序和HBase程序;在配置信息中的操作模式为HBase集群扩容时,基于数据节点镜像启动数据存储容器,并在所述数据存储容器启动成功后向所述主管理容器发送扩容成功消息。
本实施例中的HBase容器集群部署***与上述图1-3对应实施例中的HBase容器集群部署方法属于同一构思,其具体实现过程详细见对应的方法实施例,且方法实施例中的技术特征在本设备实施例中均对应适用,这里不再赘述。
本发明实施例还提供一种HBase容器集群部署设备5,该设备5具体可以是部署了Rancher平台的客户端,如图5所示,该HBase容器集群部署设备5包括存储器51和处理器52,存储器51中存储有可在处理器52执行的计算机程序,且处理器52执行计算机程序时实现如上所述HBase容器集群部署方法的步骤。
本实施例中的HBase容器集群部署设备4与上述图1-3对应实施例中的HBase容器集群部署方法属于同一构思,其具体实现过程详细见对应的方法实施例,且方法实施例中的技术特征在本设备实施例中均对应适用,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,该存储介质上存储有计算机程序,计算机程序被处理器执行时,实现如上所述HBase容器集群部署方法的步骤。本实施例中的计算机可读存储介质与上述图1-3对应实施例中的HBase容器集群部署方法属于同一构思,其具体实现过程详细见对应的方法实施例,且方法实施例中的技术特征在本设备实施例中均对应适用,这里不再赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成。实施例中的各功能单元、模块可以集成在一个处理器中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的应用程序容器集群报警实现方法、***及设备,可以通过其它的方式实现。例如,以上所描述的应用程序容器集群报警实现***实施例仅仅是示意性的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理器中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或界面切换设备、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种HBase容器集群部署方法,其特征在于,包括:
创建基于HBase私有容器应用商店的管理节点镜像和数据节点镜像,并将所述管理节点镜像和数据节点镜像上传到镜像仓库,所述管理节点镜像和数据节点镜像包括相同的启动脚本,且所述启动脚本在被执行时,使基于所述管理节点镜像创建的主管理容器和基于所述数据节点镜像创建的数据存储容器在启动后进行双向通信;
创建应用程序项目并将所述应用程序项目上传到Rancher平台,所述应用程序项目用于生成部署页面,并通过所述部署页面获取部署HBase容器集群所需的配置信息,所述配置信息包括拉取的镜像名称,且所述拉取的镜像名称包括创建的管理节点镜像和数据节点镜像对应的名称;
使所述Rancher平台执行所述应用程序项目以及根据获取的配置信息创建新的HBase容器集群或对已有的HBase容器集群进行扩容。
2.根据权利要求1所述的HBase容器集群部署方法,其特征在于,所述配置信息包括操作模式和环境变量,且所述操作模式为创建HBase集群或HBase集群扩容;
在所述操作模式为创建HBase集群时,所述环境变量包括集群数量以及配置的端口;
在所述操作模式为HBase集群扩容时,所述环境变量包括初始集群的端口号、初始集群数量、扩容的数量。
3.根据权利要求2所述的HBase容器集群部署方法,其特征在于,所述方法包括所述主管理容器根据所述启动脚本执行以下步骤:
接收由所述数据存储容器发送的所述数据存储容器所在的宿主机的信息;
实时向所有数据存储容器广播通过所述部署页面获取的部署所述HBase容器集群所需的配置信息;
在所述配置信息中的操作模式为创建HBase集群时,根据所述配置信息中的集群数量以及配置的端口启动HDFS程序,并在等待预设时间后启动HBase程序;
在所述配置信息中的操作模式为HBase集群扩容,且接收到来自扩容的数据存储容器的扩容成功消息时,使所述HDFS程序刷新数据存储节点列表及均衡负载。
4.根据权利要求3所述的HBase容器集群部署方法,其特征在于,所述方法包括所述数据存储容器根据所述启动脚本执行以下步骤:
实时向所述主管理容器发送当前数据存储容器所在的宿主机的信息;
接收所述主管理容器广播的配置信息,并根据所述配置信息中的初始集群的端口号修改HDFS程序和HBase程序;
在所述配置信息中的操作模式为HBase集群扩容时,基于所述数据节点镜像启动数据存储容器,并在所述数据存储容器启动成功后向所述主管理容器发送扩容成功消息。
5.一种HBase容器集群部署***,其特征在于,包括镜像创建单元、项目创建单元和部署执行单元,其中:
所述镜像创建单元,用于创建基于HBase私有容器应用商店的管理节点镜像和数据节点镜像,并将所述管理节点镜像和数据节点镜像上传到镜像仓库,所述管理节点镜像和数据节点镜像包括相同的启动脚本;
所述项目创建单元,用于创建应用程序项目并将所述应用程序项目上传到Rancher平台,所述应用程序项目用于生成部署页面,并通过所述部署页面获取部署HBase容器集群所需的配置信息,所述配置信息包括拉取的镜像名称,且所述拉取的镜像名称包括创建的管理节点镜像和数据节点镜像对应的名称;
所述部署执行单元,用于使所述Rancher平台执行所述应用程序项目以及根据获取的配置信息创建新的HBase容器集群或对已有的HBase容器集群进行扩容,并通过所述启动脚本使基于所述管理节点镜像创建的主管理容器和基于所述数据节点镜像创建的数据存储容器在启动后进行双向通信。
6.根据权利要求5所述的HBase容器集群部署***,其特征在于,所述配置信息包括操作模式和环境变量,且所述操作模式为创建HBase集群或HBase集群扩容;
在所述操作模式为创建Hbase集群时,所述环境变量包括集群数量以及配置的端口;
在所述操作模式为HBase集群扩容时,所述环境变量包括初始集群的端口号、初始集群数量、扩容的数量。
7.根据权利要求6所述的HBase容器集群部署***,其特征在于,所述启动脚本定义了由所述主管理容器执行的以下步骤:
接收由所述数据存储容器发送的所述数据存储容器所在的宿主机的信息;
实时向所有数据存储容器广播通过所述部署页面获取的部署所述HBase容器集群所需的配置信息;
在所述配置信息中的操作模式为创建HBase集群时,根据所述配置信息中的集群数量以及配置的端口启动HDFS程序,并在等待预设时间后启动HBase程序;
在所述配置信息中的操作模式为HBase集群扩容,且接收到来自扩容的数据存储容器的扩容成功消息时,使所述HDFS程序刷新数据存储节点列表及均衡负载。
8.根据权利要求7所述的HBase容器集群部署***,其特征在于,所述启动脚本定义了由所述数据存储容器执行的以下步骤:
实时向所述主管理容器发送当前数据存储容器所在的宿主机的信息;
接收所述主管理容器广播的配置信息,并根据所述配置信息中的初始集群的端口号修改HDFS程序和HBase程序;
在所述配置信息中的操作模式为HBase集群扩容时,基于所述数据节点镜像启动数据存储容器,并在所述数据存储容器启动成功后向所述主管理容器发送扩容成功消息。
9.一种HBase容器集群部署设备,其特征在于,包括存储器和处理器,所述存储器中存储有可在所述处理器执行的计算机程序,且所述处理器执行所述计算机程序时实现如权利要求1-4中任一项所述HBase容器集群部署方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至4中任一项所述HBase容器集群部署方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910543672.XA CN110389766B (zh) | 2019-06-21 | 2019-06-21 | HBase容器集群部署方法、***、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910543672.XA CN110389766B (zh) | 2019-06-21 | 2019-06-21 | HBase容器集群部署方法、***、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110389766A true CN110389766A (zh) | 2019-10-29 |
CN110389766B CN110389766B (zh) | 2022-12-27 |
Family
ID=68285733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910543672.XA Active CN110389766B (zh) | 2019-06-21 | 2019-06-21 | HBase容器集群部署方法、***、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110389766B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110806881A (zh) * | 2019-11-05 | 2020-02-18 | 浪潮云信息技术有限公司 | 一种kubernetes部署不同CPU架构的方法 |
CN111552908A (zh) * | 2020-04-30 | 2020-08-18 | 深信服科技股份有限公司 | 终端、***和应用程序的运行方法 |
CN112187925A (zh) * | 2020-09-28 | 2021-01-05 | 江苏银承网络科技股份有限公司 | 用于大数据平台的离线集群管理方法及装置 |
CN112328184A (zh) * | 2020-12-03 | 2021-02-05 | 北京联创信安科技股份有限公司 | 一种集群扩容方法、装置、设备及存储介质 |
CN113419819A (zh) * | 2021-06-25 | 2021-09-21 | 重庆紫光华山智安科技有限公司 | 容器管理方法、装置、设备及介质 |
CN116909581A (zh) * | 2023-09-11 | 2023-10-20 | 中移(苏州)软件技术有限公司 | HBase服务多实例的管理方法、装置、设备及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103412768A (zh) * | 2013-07-19 | 2013-11-27 | 蓝盾信息安全技术股份有限公司 | 一种基于脚本程序自动化部署Zookeeper集群的方法 |
CN104679717A (zh) * | 2015-02-15 | 2015-06-03 | 北京京东尚科信息技术有限公司 | 集群弹性部署的方法和管理*** |
CN106294886A (zh) * | 2016-10-17 | 2017-01-04 | 北京集奥聚合科技有限公司 | 一种从HBase中全量抽取数据的方法及*** |
WO2017045424A1 (zh) * | 2015-09-18 | 2017-03-23 | 乐视控股(北京)有限公司 | 一种应用程序部署***及部署方法 |
CN106873975A (zh) * | 2016-12-30 | 2017-06-20 | 武汉默联股份有限公司 | 基于Docker的devops持续交付与自动化***及方法 |
WO2017161984A1 (zh) * | 2016-03-24 | 2017-09-28 | 中兴通讯股份有限公司 | 数据集群的部署方法、装置、***及计算机存储介质 |
WO2017206667A1 (zh) * | 2016-06-03 | 2017-12-07 | 中兴通讯股份有限公司 | 分布式部署Hadoop集群的方法及装置 |
CN109327509A (zh) * | 2018-09-11 | 2019-02-12 | 武汉魅瞳科技有限公司 | 一种主/从架构的低耦合的分布式流式计算框架 |
CN109491859A (zh) * | 2018-10-16 | 2019-03-19 | 华南理工大学 | 针对Kubernetes集群中容器日志的收集方法 |
US20190095599A1 (en) * | 2017-09-25 | 2019-03-28 | Splunk Inc. | Customizing a user behavior analytics deployment |
CN109814881A (zh) * | 2017-11-21 | 2019-05-28 | 北京京东尚科信息技术有限公司 | 用于部署数据库集群的方法和装置 |
CN109828953A (zh) * | 2019-01-30 | 2019-05-31 | 武汉虹旭信息技术有限责任公司 | 基于分布式内存数据库的图片检索***及其方法 |
CN109857516A (zh) * | 2018-12-29 | 2019-06-07 | 航天信息股份有限公司 | 基于容器的集群迁移方法及装置 |
CN109885316A (zh) * | 2019-02-18 | 2019-06-14 | 国家计算机网络与信息安全管理中心 | 基于kubernetes的hdfs-hbase部署方法及装置 |
-
2019
- 2019-06-21 CN CN201910543672.XA patent/CN110389766B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103412768A (zh) * | 2013-07-19 | 2013-11-27 | 蓝盾信息安全技术股份有限公司 | 一种基于脚本程序自动化部署Zookeeper集群的方法 |
CN104679717A (zh) * | 2015-02-15 | 2015-06-03 | 北京京东尚科信息技术有限公司 | 集群弹性部署的方法和管理*** |
WO2017045424A1 (zh) * | 2015-09-18 | 2017-03-23 | 乐视控股(北京)有限公司 | 一种应用程序部署***及部署方法 |
WO2017161984A1 (zh) * | 2016-03-24 | 2017-09-28 | 中兴通讯股份有限公司 | 数据集群的部署方法、装置、***及计算机存储介质 |
WO2017206667A1 (zh) * | 2016-06-03 | 2017-12-07 | 中兴通讯股份有限公司 | 分布式部署Hadoop集群的方法及装置 |
CN106294886A (zh) * | 2016-10-17 | 2017-01-04 | 北京集奥聚合科技有限公司 | 一种从HBase中全量抽取数据的方法及*** |
CN106873975A (zh) * | 2016-12-30 | 2017-06-20 | 武汉默联股份有限公司 | 基于Docker的devops持续交付与自动化***及方法 |
US20190095599A1 (en) * | 2017-09-25 | 2019-03-28 | Splunk Inc. | Customizing a user behavior analytics deployment |
CN109814881A (zh) * | 2017-11-21 | 2019-05-28 | 北京京东尚科信息技术有限公司 | 用于部署数据库集群的方法和装置 |
CN109327509A (zh) * | 2018-09-11 | 2019-02-12 | 武汉魅瞳科技有限公司 | 一种主/从架构的低耦合的分布式流式计算框架 |
CN109491859A (zh) * | 2018-10-16 | 2019-03-19 | 华南理工大学 | 针对Kubernetes集群中容器日志的收集方法 |
CN109857516A (zh) * | 2018-12-29 | 2019-06-07 | 航天信息股份有限公司 | 基于容器的集群迁移方法及装置 |
CN109828953A (zh) * | 2019-01-30 | 2019-05-31 | 武汉虹旭信息技术有限责任公司 | 基于分布式内存数据库的图片检索***及其方法 |
CN109885316A (zh) * | 2019-02-18 | 2019-06-14 | 国家计算机网络与信息安全管理中心 | 基于kubernetes的hdfs-hbase部署方法及装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110806881A (zh) * | 2019-11-05 | 2020-02-18 | 浪潮云信息技术有限公司 | 一种kubernetes部署不同CPU架构的方法 |
CN110806881B (zh) * | 2019-11-05 | 2023-07-04 | 浪潮云信息技术股份公司 | 一种kubernetes部署不同CPU架构的方法 |
CN111552908A (zh) * | 2020-04-30 | 2020-08-18 | 深信服科技股份有限公司 | 终端、***和应用程序的运行方法 |
CN112187925A (zh) * | 2020-09-28 | 2021-01-05 | 江苏银承网络科技股份有限公司 | 用于大数据平台的离线集群管理方法及装置 |
CN112328184A (zh) * | 2020-12-03 | 2021-02-05 | 北京联创信安科技股份有限公司 | 一种集群扩容方法、装置、设备及存储介质 |
CN112328184B (zh) * | 2020-12-03 | 2023-11-21 | 北京联创信安科技股份有限公司 | 一种集群扩容方法、装置、设备及存储介质 |
CN113419819A (zh) * | 2021-06-25 | 2021-09-21 | 重庆紫光华山智安科技有限公司 | 容器管理方法、装置、设备及介质 |
CN113419819B (zh) * | 2021-06-25 | 2023-09-08 | 重庆紫光华山智安科技有限公司 | 容器管理方法、装置、设备及介质 |
CN116909581A (zh) * | 2023-09-11 | 2023-10-20 | 中移(苏州)软件技术有限公司 | HBase服务多实例的管理方法、装置、设备及存储介质 |
CN116909581B (zh) * | 2023-09-11 | 2024-01-26 | 中移(苏州)软件技术有限公司 | HBase服务多实例的管理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110389766B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389766A (zh) | HBase容器集群部署方法、***、设备及计算机可读存储介质 | |
CN110389832A (zh) | ZooKeeper容器集群部署方法、***、设备及存储介质 | |
CN101504672B (zh) | 一种动态配置实体数据表的方法和*** | |
CN109947773A (zh) | 在多租户数据库***中部署对键模式的改变 | |
CN105487864A (zh) | 代码自动生成的方法和装置 | |
US20070300217A1 (en) | Data Container for User Interface Content Data | |
CN105608203A (zh) | 一种基于Hadoop平台的物联网日志处理方法和装置 | |
CN1591445A (zh) | 在提供***中定义资源配置简表的一般方法 | |
CN106201614A (zh) | 一种可对多种同类软件进行链式升级的通用方法及*** | |
CN103701856A (zh) | 一种定义及终端设备获取升级包的方法 | |
CN107783816A (zh) | 虚拟机的创建方法及装置、大数据集群创建的方法及装置 | |
CN105959390A (zh) | 微服务的统一管理***及方法 | |
CN109062568A (zh) | 一种项目生成方法及工具 | |
CN106033388A (zh) | 测试用例库管理方法及*** | |
CN111198726B (zh) | 一种适应传统应用云化的配置***及方法 | |
CN102571400A (zh) | 一种通信网络资源模型的更新方法、***及装置 | |
CN108572845A (zh) | 分布式微服务集群的升级方法及相关*** | |
CN107294750A (zh) | 一种云集群能自识别的分布配置管理方法和装置 | |
CN110784347A (zh) | 一种容器集群的节点管理方法、***、设备及存储介质 | |
CN115878092A (zh) | 一种基于微服务架构的代码生成方法、设备及介质 | |
US10963227B2 (en) | Technique for transforming a standard messaging component to a customized component | |
CN106371931B (zh) | 一种基于Web框架的高性能地学计算服务*** | |
CN103107919A (zh) | 一种网络资源建模方法和*** | |
CN105786925A (zh) | 基于参考模型进行动态数据建模的方法及装置 | |
CN108376082B (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 |