一种分布式系统的角色配置方法及装置与流程

文档序号:12133737阅读:308来源:国知局
一种分布式系统的角色配置方法及装置与流程

本发明涉及分布式系统领域,尤其涉及一种分布式系统的角色配置方法及装置。



背景技术:

分布式系统(distributed system)是建立在网络之上的软件系统。通过分布式系统可以将一个作业分成多个任务,并在不同的计算机节点上同时处理多个任务,从而快速、安全地完成作业。

在构建分布式系统时,需要部署分布式系统中的各个节点(计算机)的角色,例如,对于分布式hadoop,其包括hadoop-master角色和hadoop-slaver角色。现有技术主要采用如下几种方法:一是采用统一模板的方式进行部署,即通过一个通用的安装方式或者系统镜像实现对分布式系统的部署,生成的每一个节点上的配置进本无差别,需要再次手动设置才可正常运行;其存在的问题是可变性单一,模板的制作过程比较费时费力,需要专业的人员才能完成,灵活性不足。另一种是针对不同的角色配置不同的模板,这会使得模板的数量异常之多,部署实现不易,且不易做角色的调整。



技术实现要素:

针对上述问题,本发明的目的在于提供一种分布式系统的角色配置方法及装置,可实现简单、快捷的分布式系统的角色配置。

本发明提供了一种分布式系统的角色配置方法,包括如下步骤:

配置集群中的每个节点的IP地址;

根据预设的集群配置文件设置所述集群中的每个节点的角色;其中,每个节点包括至少一个角色;

生成与每个节点的角色对应的角色安装文件;

根据所述节点的IP地址,将所述角色安装文件发送给对应的节点,以使所述节点根据接收到所述角色安装文件进行安装。

优选地,所述节点的角色至少包括以下其中之一:hadoop-master,hbase-master,zookeeper;

或者至少包括以下其中之一:hadoop-slaver,hbase-slaver,zookeeper。

优选地,所述角色安装文件包括安装脚本、角色安装程序文件及自启动服务列表文件。

优选地,当所述节点包括至少两个角色时,所述生成与每个节点的角色对应的角色安装文件具体包括:

获取所述至少两个角色的安装脚本、角色安装程序文件及自启动服务列表文件,将所述至少两个角色的安装脚本和角色安装程序文件进行组合打包,并整合角色间的自启动服务,生成与所述至少两个角色对应的角色安装文件。

优选地,在根据预设的集群配置文件设置集群中的每个节点的角色之后,还包括:

检测集群中的所有节点的角色配置是否合理;

当检测到所述集群中存在至少两个master角色时,检查是否采用高可用性配置,若否,则生成异常提醒。

优选地,在根据所述节点的IP地址,将所述角色安装文件发送给对应的节点,以使所述节点根据接收到所述角色安装文件后进行安装之后,还包括:

接收集群配置修改指令;

读取与所述集群配置修改指令对应的修改后的集群配置文件;

根据所述修改后的集群配置文件解析角色发生变化的节点的IP地址及变化后的角色;

生成与变化后的角色对应的角色安装文件,并根据所述发生变化的节点的IP地址,将所述角色安装文件发送给对应的所述发生变化的节点,以使所述发生变化的节点根据接收到所述角色安装文件后进行安装。

本发明还提供了一种分布式系统的角色配置装置,包括:

IP地址配置单元,用于配置集群中的每个节点的IP地址;

角色设置单元,用于根据预设的集群配置文件设置所述集群中的每个节点的角色;其中,每个节点包括至少一个角色;

安装文件生成单元,用于生成与每个节点的角色对应的角色安装文件;

发送单元,用于根据所述节点的IP地址,将所述角色安装文件发送给对应的节点,以使所述节点根据接收到所述角色安装文件进行安装。

优选地,当所述节点包括至少两个角色时,

所述安装文件生成单元具体用于,获取所述至少两个角色的安装脚本、角色安装程序文件及自启动服务列表文件,将所述至少两个角色的安装脚本和角色安装程序文件进行组合打包,并整合角色间的自启动服务,生成与所述至少两个角色对应的角色安装文件。

优选地,还包括:

角色检测单元,用于检测集群中的所有节点的角色配置是否合理;

异常检查单元,用于当检测到所述集群中存在至少两个master角色时,检查是否采用高可用性配置,若否,则生成异常提醒。

优选地,还包括:

修改指令接收单元,用于接收集群配置修改指令;

修改文件读取单元,用于读取与所述集群配置修改指令对应的修改后的集群配置文件;

变化参数解析单元,用于根据所述修改后的集群配置文件解析角色发生变化的节点的IP地址及变化后的角色;

角色安装文件发送单元,用于生成与变化后的角色对应的角色安装文件,并根据所述发生变化的节点的IP地址,将所述角色安装文件发送给对应的所述发生变化的节点,以使所述发生变化的节点根据接收到所述角色安装文件后进行安装。

本发明提供的分布式系统的角色配置方法及装置,通过预先配置好的集群配置文件自动部署集群中的各个节点的角色,并将根据各个节点的角色自动生成角色安装文件后发送给各个节点,从而实现各个节点中的角色的自动配置,不需要使用统一模板或针对各个节点的角色准备多种模板,配置简单,操作方便,无需专业人员进行安装部署。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的分布式系统的角色配置方法的流程示意图。

图2是本发明实施例提供的分布式系统的角色配置装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,本发明实施例提供了一种分布式系统的角色配置方法,其可由分布式系统的角色配置装置(以下简称角色配置装置)来执行,并包括如下步骤:

S101,自动配置集群中的每个节点的IP地址。

在本发明实施例中,在配置集群中的每个节点的IP地址的同时,还可同时配置每个节点的主机名,以方便节点的查找。

S102,根据预设的集群配置文件设置所述集群中的每个节点的角色;其中,每个节点包括至少一个角色。

具体地,在本发明实施例中,一个分布式系统是一个能够对大量数据进行分布式处理的框架,其能够把应用程序分割成许多的小的工作单元,并把这些工作单元放到集群中的任意节点上执行。其中,一个准备提交执行的应用程序称为“作业(job)”,而从一个作业划分出得、运行于各个计算节点的工作单元称为“任务(task)”。

在本发明实施例中,在分布式存储和分布式计算方面,一般都是用主/从(master/slaver)架构。

例如,对于一个分布式hadoop,则集群内包括作为hadoop-master角色的master节点和作为hadoop-slaver角色的slaver节点,而对于分布式hbase,则集群内包括作为hbase-master角色的master节点和作为hbase-slaver角色的slaver节点。对于分布式zookeeper,集群内包括作为zookeeper角色的zookeeper节点。

以hadoop为例,在一个配置完整的集群上,想实现分布式,需要在集群中运行一系列后台程序。不同的后台程序实现不同的服务,这些服务由NameNode、DataNode、Secondary NameNode、JobTracker、TaskTracker组成。其中NameNode、Secondary NameNode、JobTracker运行在master节点上,而在每个slaver节点上,部署一个DataNode和TaskTracker,以便这个slaver节点运行的数据处理程序能尽可能直接处理本机的数据。

在本发明实施例中,为了实现分布式系统的运行,需要合理配置集群中的各个节点的角色,其中,集群中的每个节点的角色可根据用户需求进行指定配置,在根据用户的需求生成集群配置文件后,由角色配置装置读取所述集群配置文件,从而设置集群中的各个节点的角色。

其中,每个节点的角色至少包括以下其中之一:hadoop-master,hbase-master,zookeeper;

或者至少包括以下其中之一:hadoop-slaver,hbase-slaver,zookeeper。

S103,生成与每个节点的角色对应的角色安装文件。

在本发明实施例中,在配置完集群内的各个节点的角色后,需要向各个节点发送与其角色对应的角色安装文件。其中,所述角色安装文件根据需要配置的角色的基本信息预先生成,即当知道了需要配置什么样的角色后,就可以生成与其对应的角色安装文件,所述角色安装文件一般包括安装脚本(或者安装配置文件)、角色安装程序文件及自启动服务列表文件。这里的所述角色安装程序文件为用于安装基础服务的程序,而安装脚本则用于在处理程序安装过程中的基础配置和相关依赖,自启动服务列表文件定义了节点开机时需要自启动的服务。

S104,根据所述节点的IP地址,将所述角色安装文件发送给对应的节点,以使所述节点根据接收到所述安装文件后进行安装。

在本发明实施例中,在生成所述角色安装文件后,所述角色配置装置根据每个节点的IP及该节点的角色,将所述角色安装文件发送给对应的节点,所述节点在接收到所述角色安装文件后,根据角色安装文件中的安装脚本对角色安装程序文件进行安装,并根据所述自启动服务列表文件设置每个开机需自启动的服务。例如,对于hadoop-master角色的节点,其自启动服务包括NameNode、Secondary NameNode、JobTracker,而对于hadoop-slaver角色的节点,其自启动服务包括DataNode和TaskTracker。

综上所述,本发明实施例提供的分布式系统的角色配置方法,通过预先配置好的集群配置文件自动部署集群中的各个节点的角色,并将根据各个节点的角色自动生成角色安装文件后发送给各个节点,从而实现各个节点中的角色的自动配置,不需要使用统一模板或针对各个节点的角色准备多种模板,配置简单,操作方便,无需专业人员进行安装部署,满足一般用户的配置需求和使用需求。

为了便于对本发明的理解,下面对本发明的一些优选实施例做更进一步的描述。

优选地,当所述节点包括至少两个角色时,步骤S103具体包括:

获取所述至少两个角色的安装脚本、角色安装程序文件及自启动服务列表文件,将所述至少两个角色的安装脚本和角色安装程序文件进行组合打包,并整合角色间的自启动服务列表,生成与所述至少两个角色对应的角色安装文件。

具体的,在一些情况下,可能需要在一个节点上部署组合角色,例如,可能需要在一个节点上同时部署hadoop-slaver,hbase-slaver,zookeeper。则此时,所述角色配置装置分别获取所述至少两个角色对应的安装脚本、角色安装程序文件及自启动服务列表文件,将所述至少两个角色的安装脚本和角色安装程序文件进行组合打包,并整合角色间的自启动服务列表,生成与所述至少两个角色对应的角色安装文件。

在本优选实施例中,如果要在一个节点上布置不同的角色的组合,只需在所述集群配置文件上设置好该节点上需要组合的角色,并与该节点的IP地址进行关联,所述角色部署装置即可以自动根据集群配置文件设置好的组合角色自动生成组合后的角色安装文件,并发送给该节点,实现在节点上部署组合角色。本优选实施例在实现节点的角色组合时,无需对各种组合角色的节点单独进行设置或制作模板,实现简单,无需专业人员进行安装部署。

优选地,在步骤S102之后,还包括:

检测集群中的所有节点的角色配置是否合理;

当检测到所述集群中存在至少两个master角色时,检查是否采用高可用性配置,若否,则生成异常提醒。

对应一个分布式系统,其一般是一主多从(即一个master节点,多个slaver节点)的架构。在对集群中的所有节点进行角色配置后,所述角色配置装置还检测集群中的所有节点的角色配置是否合理,例如是否出现了有多个master角色的情况,若当检测到所述集群中存在至少两个master角色时,则进一步检查是否采用高可用性(HA)配置,若是,则代表正常,若否,则说明配置出错,并生成异常提醒,提醒用户对集群配置文件进行修改,保证只有一个master节点,其中,异常提醒还同时包括出错的节点的主机名或IP等,方便用户进行异常的寻找和排除。

当然,在本发明的其他实施例中,还可根据分布式系统或者集群的其他固有性质进行自动检查来发现错误节点,这些方案也在本发明的保护范围之内,本发明在此不做赘述。

本优选实施例中,可以根据分布式系统中的角色的固有性质进行自动检测,从而在安装部署阶段及时发现错误节点并进行处理,避免了运行时出错的问题,提高了用户的使用体验。

优选地,在步骤S104之后,还包括:

接收集群配置修改指令。

读取与所述集群配置修改指令对应的修改后的集群配置文件。

根据所述修改后的集群配置文件获得角色发生变化的节点的IP地址及变化后的角色。

生成与变化后的角色对应的角色安装文件,并根据所述发生变化的节点的IP地址,将所述角色安装文件发送给对应的所述发生变化的节点,以使所述发生变化的节点根据接收到所述角色安装文件后进行安装。

在本优选实施例中,若需要对集群中的节点的角色进行更改时,只需要在原集群配置文件进行相应的修改,如增加节点的角色、删除节点上的角色、增加节点上的角色的服务或者删除节点上的角色的服务,生成修改后的集群配置文件。此后,用户可发出集群配置修改指令,所述角色配置装置在接收到集群配置修改指令后,读取与所述集群配置修改指令对应的修改后的集群配置文件,并根据所述修改后的集群配置文件获得角色发生变化的节点的IP地址及变化后的角色,此后,生成与变化后的角色对应的角色安装文件,并根据所述发生变化的节点的IP地址,将所述角色安装文件发送给对应的所述发生变化的节点,以使所述发生变化的节点根据接收到所述安装角色文件后进行安装。

其中,发生变化的节点在接收到新的角色安装文件后,可先卸载原来安装的角色的应用程序,以免发生冲突。

本优选实施例中,在对集群内的节点的角色进行修改时,只需修改集群配置文件中的与该节点对应的配置信息即可,不需要重新部署整个集群的节点的角色,修改维护效率高,无需专业人员部署或修改,方便了用户的操作。

请参阅图2,本发明实施例还提供了一种分布式系统的角色配置装置100,包括:

IP地址配置单元10,用于配置集群中的每个节点的IP地址。

角色设置单元20,用于根据预设的集群配置文件设置所述集群中的每个节点的角色;其中,每个节点包括至少一个角色。

其中,每个节点的角色至少包括以下其中之一:hadoop-master,hbase-master,zookeeper;

或者至少包括以下其中之一:hadoop-slaver,hbase-slaver,zookeeper。

安装文件生成单元30,用于生成与每个节点的角色对应的角色安装文件。

发送单元40,用于根据所述节点的IP地址,将所述角色安装文件发送给对应的节点,以使所述节点根据接收到所述角色安装文件进行安装。

本发明实施例提供的分布式系统的角色配置装置,可通过预先配置好的集群配置文件自动部署集群中的各个节点的角色,并根据发送的角色安装文件实现各个节点中的角色的自动安装,不需要使用统一模板或针对各个节点的角色准备多种模板,配置方法简单,无需专业人员进行安装部署。

优选地,当所述节点包括至少两个角色时,所述安装文件生成单元30具体用于,获取所述至少两个角色的安装脚本、角色安装程序文件及自启动服务列表文件,将所述至少两个角色的安装脚本和角色安装程序文件进行组合打包,并整合角色间的自启动服务,生成与所述至少两个角色对应的角色安装文件。

在本优选实施例中,如果要在一个节点上布置角色组合,只需在所述集群配置文件上设置好需要组合的角色,所述安装文件生成单元30即可以自动根据集群配置文件设置好的组合角色自动生成组合后的角色安装文件,并由所述发送单元40发送给对应的节点,实现在节点上部署组合角色。本优选实施例在实现节点的角色组合时,无需对各种组合角色单独进行设置或制作模板,实现简单,无需专业人员进行安装部署。

优选地,还包括:

角色检测单元51,用于检测集群中的所有节点的角色配置是否合理。

检查单元52,用于当检测到所述集群中存在至少两个master角色时,检查是否采用高可用性配置,若否,则生成异常提醒。

本优选实施例中,可以根据hadoop或者hbase等其他的角色的性质进行检测,从而在安装部署阶段及时发现错误节点并进行处理,避免了运行时出错的问题。

优选地,还包括:

指令接收单元61,用于接收集群配置修改指令;

修改文件读取单元62,用于读取与所述集群配置修改指令对应的修改后的集群配置文件;

变化参数获取单元63,用于根据所述修改后的集群配置文件解析角色发生变化的节点的IP地址及变化后的角色;

角色安装文件发送单元64,用于生成与变化后的角色对应的角色安装文件,并根据所述发生变化的节点的IP地址,将所述角色安装文件发送给对应的所述发生变化的节点,以使所述发生变化的节点根据接收到所述角色安装文件后进行安装。

本优选实施例中,在对集群内的节点的角色进行修改时,只需通过修改集群配置文件即可实现集群内的节点的角色,而且在修改时,不需要重新部署整个集群的节点,只需对那些发生了变化的节点进行修改即可,加快了修改的速度。

本发明实施例还提供一种分布式系统的角色配置系统,其包括如上述任一实施例所述的分布式系统的角色配置装置100及至少两个节点,其中,所述角色配置装置100可配置集群中的每个节点的IP地址,并在根据预设的集群配置文件设置所述集群中的每个节点的角色后,生成与每个节点的角色对应的角色安装文件,最后根据所述节点的IP地址,将所述角色安装文件发送给对应的节点,每个所述节点根据接收到所述角色安装文件进行安装,从而实现了分布式系统的角色配置。

以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1