一种部署集群的方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种部署集群的方法及装置。
背景技术
在集群的部署过程中,需要对集群中的每个节点进行部署。目前,在部署集群时,需要工作人员在每个节点上安装操作系统以及各自服务,这需要消耗较多的时间。由于人工部署的过程可能会发生错误,工作人员完成每个部署操作后,需要详细检查,该过程也需要较多时间。
通过上述描述可见,现有技术中,部署集群需要消耗较多的时间。
发明内容
本发明实施例提供了一种部署集群的方法及装置,能够更加快速的实现集群的部署。
一方面,本发明实施例提供了一种部署集群的方法,包括:在集群的manager节点上安装操作系统,在所述manager节点上配置pxe,在所述manager节点上配置ambari;
利用所述manager节点上的pxe安装所述集群的工作节点和master节点的操作系统;
利用所述manager节点上的ambari在所述工作节点和所述master节点上安装大数据服务。
优选地,
该方法进一步包括:预先设置所述集群的配置文件,所述配置文件中包括:所述工作节点和所述master节点的主机的名称、所述工作节点和所述master节点的主机的IP地址、所述工作节点和所述master节点的主机的网卡名称、所述工作节点和所述master节点的主机的序列号;
在所述利用所述manager节点上的pxe安装所述集群的工作节点和master节点的操作系统之后,进一步包括:
利用所述manager节点上的pxe,根据所述配置文件,配置所述工作节点和所述master节点的主机的名称、所述工作节点和所述master节点的主机的IP地址、所述工作节点和所述master节点的主机的网卡名称、所述工作节点和所述master节点的主机的序列号。
优选地,
所述利用所述manager节点上的ambari在所述工作节点和所述master节点上安装大数据服务,包括:
利用所述manager节点上的ambari搭建所述集群所需的yum源,将repo文件下发到所述master节点和所述工作节点;
利用所述manager节点上的ambari将所述工作节点和所述master节点配置为ssh免密码登录;
利用所述manager节点上的ambari设置所述集群的时间源,并根据所述时间源实现所述工作节点和所述master节点的时间同步;
利用所述manager节点上的ambari在所述工作节点和所述master节点上安装数据库,并创建用户。
优选地,
该方法进一步包括:
在所述manager节点上搭建InsightHD的源;
关闭所述manager节点的防火墙;
关闭所述manager节点的selinux;
配置所述manager节点的主机的名称和hosts文件;
配置所述manager节点的DNS;
在所述manager节点上安装ntpd,同步外部时间源,并启动ntpd;
在所述manager节点上配置数据库。
优选地,
所述在所述manager节点上配置pxe,包括:
在所述manager节点上设置dhcp服务、tftp服务和http服务,并启动所述dhcp服务、所述tftp服务和所述http服务。
优选地,
所述在集群的manager节点上安装操作系统,包括:
在所述manager节点上,将操作系统安装在配置raid1后的逻辑卷中。
另一方面,本发明实施例提供了一种部署集群的装置,包括:
manager节点部署单元,用于在集群的manager节点上安装操作系统,在所述manager节点上配置pxe,在所述manager节点上配置ambari;
系统部署单元,用于利用所述manager节点上的pxe安装所述集群的工作节点和master节点的操作系统;
服务部署单元,用于利用所述manager节点上的ambari在所述工作节点和所述master节点上安装大数据服务。
优选地,
该装置进一步包括:
配置文件设置单元,用于设置所述集群的配置文件,所述配置文件中包括:所述工作节点和所述master节点的主机的名称、所述工作节点和所述master节点的主机的IP地址、所述工作节点和所述master节点的主机的网卡名称、所述工作节点和所述master节点的主机的序列号;
初始化单元,用于利用所述manager节点上的pxe,根据所述配置文件,配置所述工作节点和所述master节点的主机的名称、所述工作节点和所述master节点的主机的IP地址、所述工作节点和所述master节点的主机的网卡名称、所述工作节点和所述master节点的主机的序列号。
优选地,
所述服务部署单元,用于:
利用所述manager节点上的ambari搭建所述集群所需的yum源,将repo文件下发到所述master节点和所述工作节点;
利用所述manager节点上的ambari将所述工作节点和所述master节点配置为ssh免密码登录;
利用所述manager节点上的ambari设置所述集群的时间源,并根据所述时间源实现所述工作节点和所述master节点的时间同步;
利用所述manager节点上的ambari在所述工作节点和所述master节点上安装数据库,并创建用户。
优选地,
该装置进一步包括:
manager节点配置单元,用于在所述manager节点上搭建InsightHD的源,关闭所述manager节点的防火墙,关闭所述manager节点的selinux,配置所述manager节点的主机的名称和hosts文件,配置所述manager节点的DNS,在所述manager节点上安装ntpd,同步外部时间源,并启动ntpd,在所述manager节点上配置数据库。
优选地,
所述manager节点部署单元,在执行所述在所述manager节点上配置pxe时,用于在所述manager节点上设置dhcp服务、tftp服务和http服务,并启动所述dhcp服务、所述tftp服务和所述http服务。
优选地,
所述manager节点部署单元,在执行所述在集群的manager节点上安装操作系统时,用于在所述manager节点上,将操作系统安装在配置raid1后的逻辑卷中。
在本发明实施例中,在集群的manager节点上设置了操作系统、pxe和ambari之后,利用manager节点可以自动为集群的工作节点和master节点按照操作系统和大数据服务,大大减少了人工操作,能够更加快速的实现集群的部署。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种部署集群的方法的流程图;
图2是本发明一实施例提供的另一种部署集群的方法的流程图;
图3是本发明一实施例提供的一种部署集群的装置的示意图;
图4是本发明一实施例提供的另一种部署集群的装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种部署集群的方法,该方法可以包括以下步骤:
步骤101:在集群的manager节点上安装操作系统,在所述manager节点上配置pxe,在所述manager节点上配置ambari;
步骤102:利用所述manager节点上的pxe安装所述集群的工作节点和master节点的操作系统;
步骤103:利用所述manager节点上的ambari在所述工作节点和所述master节点上安装大数据服务。
在本发明实施例中,在集群的manager节点上设置了操作系统、pxe和ambari之后,利用manager节点可以自动为集群的工作节点和master节点按照操作系统和大数据服务,大大减少了人工操作,能够更加快速的实现集群的部署。
Pxe(preboot execute environment,预启动执行环境)工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transferprotocol,简单文件传输协议)或MTFTP(multicast trivial file transfer protocol,多点的TFTP服务)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。
Ambari是一个分布式架构的软件,主要由两部分组成:Ambari Server和AmbariAgent。简单来说,用户通过Ambari Server通知Ambari Agent安装对应的软件;Agent会定时地发送各个机器每个软件模块的状态给Ambari Server,最终这些状态信息会呈现在Ambari的GUI,方便用户了解到集群的各种状态,并进行相应的维护。
在配置Ambari时,具体地,删除原有ambari,安装Ambari,设置Ambari。
所述的在集群的manager节点上安装操作系统,在所述manager节点上配置pxe,在所述manager节点上配置ambari,可以通过预先设置的脚本实现,该脚本可以通过python来编写。
在本发明实施例中,集群可以有多个工作节点,针对每个工作节点,均利用pxe安装操作系统和大数据服务。
在本发明一实施例中,该方法进一步包括:预先设置所述集群的配置文件,所述配置文件中包括:所述工作节点和所述master节点的主机的名称、所述工作节点和所述master节点的主机的IP地址、所述工作节点和所述master节点的主机的网卡名称、所述工作节点和所述master节点的主机的序列号;
在所述利用所述manager节点上的pxe安装所述集群的工作节点和master节点的操作系统之后,进一步包括:
利用所述manager节点上的pxe,根据所述配置文件,配置所述工作节点和所述master节点的主机的名称、所述工作节点和所述master节点的主机的IP地址、所述工作节点和所述master节点的主机的网卡名称、所述工作节点和所述master节点的主机的序列号。
在本发明实施例中,配置文件可以是“.xlsm”格式的文件。该配置文件可以根据待部署的集群的集群规划生成。
在本发明一实施例中,所述利用所述manager节点上的ambari在所述工作节点和所述master节点上安装大数据服务,包括:
利用所述manager节点上的ambari搭建所述集群所需的yum源,将repo文件下发到所述master节点和所述工作节点;
利用所述manager节点上的ambari将所述工作节点和所述master节点配置为ssh免密码登录;
利用所述manager节点上的ambari设置所述集群的时间源,并根据所述时间源实现所述工作节点和所述master节点的时间同步;
利用所述manager节点上的ambari在所述工作节点和所述master节点上安装数据库,并创建用户。
在本发明实施例中,yum源是指集群的各个节点需要下载的程序,repo文件中记录了各个程序的下载地址,将repo文件下发到master节点和工作节点后,master节点和工作节点可以从repo文件记录的下载地址中获取所需要的程序。
将工作节点和master节点配置为ssh免密码登录后,manager节点能够更加方便的对工作节点和master节点进行配置。
在本发明一实施例中,该方法进一步包括:
在所述manager节点上搭建InsightHD的源;
关闭所述manager节点的防火墙;
关闭所述manager节点的selinux;
配置所述manager节点的主机的名称和hosts文件;
配置所述manager节点的DNS;
在所述manager节点上安装ntpd,同步外部时间源,并启动ntpd;
在所述manager节点上配置数据库。
在本发明实施例中,对manager节点进行上述配置,能够更加方便对集群的其他节点进行部署。具体地,可以预先设置os.yml,通过执行os.yml实现本发明实施例中的各个初始化过程,可以不包括对数据库的配置。
在配置数据库时,具体地,删除原有数据库,安装数据库,为数据库设置主备,创建库和用户。另外,还可以设置数据库主节点的位置、数据库名称及参数。针对数据库,可以预先设置mysql.yml,通过执行mysql.yml实现对数据库的配置。
在本发明一实施例中,所述在所述manager节点上配置pxe,包括:
在所述manager节点上设置dhcp(Dynamic Host Configuration Protocol,动态主机配置协议)服务、tftp(Trivial File Transfer Protocol,简单文件传输协议)服务和http(HyperText Transfer Protocol,超文本传输协议)服务,并启动所述dhcp服务、所述tftp服务和所述http服务。
在本发明实施例中,通过dhcp服务可以为其他节点分配IP地址,通过tftp服务可以向其他节点传输文件,通过http服务可以为其他节点提供网络服务。基于dhcp服务、tftp服务和http服务,利用pxe能够为其他节点安装操作系统。
在本发明一实施例中,所述在集群的manager节点上安装操作系统,包括:
在所述manager节点上,将操作系统安装在配置raid1后的逻辑卷中。
在本发明实施例中,通过将操作系统安装在配置raid1后的逻辑卷中,可以提高操作系统的安全性。
如图2所示,本发明实施例提供了一种部署集群的方法,包括:
步骤201:预先设置所述集群的配置文件,配置文件中包括:工作节点和master节点的主机的名称、工作节点和master节点的主机的IP地址、工作节点和master节点的主机的网卡名称、工作节点和master节点的主机的序列号。
另外,配置文件中还可以包括manager节点的主机的名称和IP地址,可以根据配置文件,设置manager节点的主机的名称和IP地址。
步骤202:在集群的manager节点上安装操作系统,在manager节点上配置pxe,在manager节点上配置ambari。
具体地,可以预先设置pxe_setup.yml,通过执行pxe_setup.yml实现配置pxe。可以预先设置Ambari.yml,通过执行Ambari.yml实现配置ambari。
另外,还可以预先设置install.py,通过执行install.py实现配置ansible,通过ansible可以配合pxe和Ambari实现对其他节点的部署。
其中,Ansible是一个模型驱动的配置管理器,支持多节点发布、远程任务执行。默认使用SSH进行远程连接。无需在被管理节点上安装附加软件,可使用各种编程语言进行扩展。
步骤203:利用manager节点上的pxe安装集群的工作节点和master节点的操作系统。
步骤204:利用manager节点上的pxe,根据配置文件,配置工作节点和master节点的主机的名称、工作节点和master节点的主机的IP地址、工作节点和master节点的主机的网卡名称、工作节点和master节点的主机的序列号。
步骤205:利用manager节点上的ambari搭建集群所需的yum源,将repo文件下发到master节点和工作节点。
步骤206:利用manager节点上的ambari将工作节点和master节点配置为ssh免密码登录。
步骤207:利用manager节点上的ambari设置集群的时间源,并根据时间源实现工作节点和master节点的时间同步。
步骤208:利用manager节点上的ambari在工作节点和master节点上安装数据库,并创建用户。
另外,利用manager节点上的ambari还可以设置工作节点和master节点的主机系统参数的调整,如透明大页、打开文件数等主机系统参数。
在本发明实施例中,ambari可以提供web页面,可以通过该web页面实现在工作节点和master节点上安装大数据服务。
在本发明实施例中,该集群包括:manager节点(服务器管理工具节点)、master节点(服务器大数据管理节点)和多个工作节点;
其中,master节点和每一个工作节点均与manager节点相连;
manager节点,用于向其他节点提供安装程序源、时间同步源、主数据库及ambari服务进程;
master节点,用于向工作节点提供大数据服务组件的管理进程;
工作节点,用于大数据集群数据的存储及计算。
在集群内部各节点均通过万兆口与交换机相连,与外部交互通过千兆口连接。
在本发明实施例中,大幅降低了大数据集群的部署难度,简化部署流程,很大程度上实现了集成化自动部署,同时减少了部署过程的人为参与度,对于提升大数据一体机的现场交付成功率和交付效率有重大意义。
本发明实施例实现了自动化部署集群,解决了物理机操作系统的安装、大数据集群的安装需要人工配置参数而导致的安装难度大、效率低的问题,降低了大数据集群的安装难度,提高了大数据集群的安装效率。
如图3、图4所示,本发明实施例提供了一种部署集群的装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的一种部署集群的装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的一种部署集群的装置,包括:
manager节点部署单元401,用于在集群的manager节点上安装操作系统,在所述manager节点上配置pxe,在所述manager节点上配置ambari;
系统部署单元402,用于利用所述manager节点上的pxe安装所述集群的工作节点和master节点的操作系统;
服务部署单元403,用于利用所述manager节点上的ambari在所述工作节点和所述master节点上安装大数据服务。
在本发明一实施例中,该装置进一步包括:
配置文件设置单元,用于设置所述集群的配置文件,所述配置文件中包括:所述工作节点和所述master节点的主机的名称、所述工作节点和所述master节点的主机的IP地址、所述工作节点和所述master节点的主机的网卡名称、所述工作节点和所述master节点的主机的序列号;
初始化单元,用于利用所述manager节点上的pxe,根据所述配置文件,配置所述工作节点和所述master节点的主机的名称、所述工作节点和所述master节点的主机的IP地址、所述工作节点和所述master节点的主机的网卡名称、所述工作节点和所述master节点的主机的序列号。
在本发明一实施例中,所述服务部署单元,用于:
利用所述manager节点上的ambari搭建所述集群所需的yum源,将repo文件下发到所述master节点和所述工作节点;
利用所述manager节点上的ambari将所述工作节点和所述master节点配置为ssh免密码登录;
利用所述manager节点上的ambari设置所述集群的时间源,并根据所述时间源实现所述工作节点和所述master节点的时间同步;
利用所述manager节点上的ambari在所述工作节点和所述master节点上安装数据库,并创建用户。
在本发明一实施例中,该装置进一步包括:
manager节点配置单元,用于在所述manager节点上搭建InsightHD的源,关闭所述manager节点的防火墙,关闭所述manager节点的selinux,配置所述manager节点的主机的名称和hosts文件,配置所述manager节点的DNS,在所述manager节点上安装ntpd,同步外部时间源,并启动ntpd,在所述manager节点上配置数据库。
在本发明一实施例中,所述manager节点部署单元,在执行所述在所述manager节点上配置pxe时,用于在所述manager节点上设置dhcp服务、tftp服务和http服务,并启动所述dhcp服务、所述tftp服务和所述http服务。
在本发明一实施例中,所述manager节点部署单元,在执行所述在集群的manager节点上安装操作系统时,用于在所述manager节点上,将操作系统安装在配置raid1后的逻辑卷中。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明实施例提供的任意一种部署集群的方法。
本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的执行指令,以使所述存储控制器执行本发明实施例提供的任意一种部署集群的方法。
本发明各个实施例至少具有如下有益效果:
1、在本发明实施例中,在集群的manager节点上设置了操作系统、pxe和ambari之后,利用manager节点可以自动为集群的工作节点和master节点按照操作系统和大数据服务,大大减少了人工操作,能够更加快速的实现集群的部署。
2、在本发明实施例中,大幅降低了大数据集群的部署难度,简化部署流程,很大程度上实现了集成化自动部署,同时减少了部署过程的人为参与度,对于提升大数据一体机的现场交付成功率和交付效率有重大意义。
3、本发明实施例实现了自动化部署集群,解决了物理机操作系统的安装、大数据集群的安装需要人工配置参数而导致的安装难度大、效率低的问题,降低了大数据集群的安装难度,提高了大数据集群的安装效率。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。