一种基于Ambari集成Solr的方法及服务器与流程

文档序号:11864470阅读:324来源:国知局
一种基于Ambari集成Solr的方法及服务器与流程

本发明涉及计算机技术领域,特别涉及一种基于Ambari集成Solr的方法及Ambari服务器。



背景技术:

Ambari作为一个开放的平台,用户可利用Ambari快速搭建并管理大数据集群;同时,由于Ambari仅作为一个开放的平台,用户在利用Ambari搭建并管理大数据集群时,通常可以根据用户业务需求对Ambari进行二次开发,比如,修改Ambari的客户端界面、增加或删除Ambari的功能模块等。

Solr作为一个性能极高的搜索引擎,能够根据用户自定义需求进行配置,并具备较高的可扩展性,广泛应用于大数据管理领域;因此,为了提高Ambari的大数据管理能力,如何实现将Solr集成到Ambari成为亟待解决的问题。



技术实现要素:

本发明实施例提供了一种基于Ambari集成Solr的方法及Ambari服务器,可实现将Solr集成到Ambari。

第一方面,本发明实施例提供了一种基于Ambari集成Solr的方法,应用于Ambari服务器,包括:

S1:在Ambari文件目录下创建Solr服务组件对应的目标文件节点以形成目标Ambari文件目录;

S2:获取Solr服务组件,并将所述Solr服务组件存储到所述目标文件节点下;

S3:在重启Ambari服务器之后,接收对应所述Solr服务组件的编译指令;

S4:根据所述目标Ambari文件目录及所述Solr服务组件构建目标Ambari。

进一步的,

所述在Ambari文件目录下创建Solr服务组件对应的目标文件节点,包括:

在Ambari文件目录下创建Solr服务组件对应的目标栈节点;

在所述目标栈节点下创建Solr服务组件对应的目标文件节点。

进一步的,

所述Ambari文件目录下包括至少一个历史栈节点;

所述Solr服务组件,包括:描述文件metainfo.xml及Solr配置文件,其中,所述描述文件metainfo.xml记录所述目标栈节点与所述至少一个历史栈节点之间的继承关系,以及,记录所述Solr配置文件的安装信息。

进一步的,

每一个所述历史栈节点下分别包括一个历史文件节点,所述历史文件节点下存储至少一个历史服务组件;

所述根据所述目标Ambari文件目录及所述Solr服务组件构建目标Ambari,包括:

根据所述继承关系确定对应所述目标栈节点的目标历史栈节点;

根据所述目标Ambari文件目录,提取所述目标栈节点下的历史文件节点存储的至少一个目标历史服务组件;

根据所述至少一个目标历史服务组件及所述安装信息、所述Solr配置文件构建目标Ambari。

进一步的,

所述至少一个历史服务组件,包括如下服务组件中的一种或多种:

ZOOKEEPER、HDFS(Hadoop Distributed File System,分布式文件系统)及YARN(Yet Another Resource Negotiator,另一种资源协调者)。

第二方面,本发明实施例提供了一种Ambari服务器,包括:

设置模块,用于在Ambari文件目录下创建Solr服务组件对应的目标文件节点以形成目标Ambari文件目录;

存储处理模块,用于获取Solr服务组件,并将所述Solr服务组件存储到所述目标文件节点下;

指令接收模块,用于在重启Ambari服务器之后,接收对应所述Solr服务组件的编译指令;

编译处理模块,用于根据所述目标Ambari文件目录及所述Solr服务组件构建目标Ambari。

进一步的,所述设置模块,包括:

第一设置子单元,用于在Ambari文件目录下创建Solr服务组件对应的目标栈节点;

第二设置子单元,用于在所述目标栈节点下创建Solr服务组件对应的目标文件节点。

进一步的,

所述Ambari文件目录下包括至少一个历史栈节点;

所述Solr服务组件,包括:描述文件metainfo.xml及Solr配置文件,其中,所述描述文件metainfo.xml记录所述目标栈节点与所述至少一个历史栈节点之间的继承关系,以及,记录所述Solr配置文件的安装信息。

进一步的,

所述编译处理模块,包括:

确定子单元,用于根据所述继承关系确定对应所述目标栈节点的目标历史栈节点;

提取子单元,用于根据所述目标Ambari文件目录,提取所述目标栈节点下的历史文件节点存储的至少一个目标历史服务组件;

编译子单元,用于根据所述至少一个目标历史服务组件及所述安装信息、所述Solr配置文件构建目标Ambari。

进一步的,

所述至少一个历史服务组件,包括如下服务组件中的一种或多种:

ZOOKEEPER、HDFS及YARN。

本发明实施例提供了一种基于Ambari集成Solr的方法及Ambari服务器,通过在Ambari服务器中的Ambari文件目录下创建Solr服务组件对应的目标文件节点以形成目标Ambari文件目录,并将Solr服务组件存储到目标Ambari文件目录的目标文件节点下,利用Ambari服务器在重启后需要扫描文件节点的特点,在Ambari服务器扫描到目标文件节点下存储的Solr服务组件后,即可接收对应Solr服务组件的编译指令,进而根据目标Ambari文件目录及目标文件节点下存储的Solr服务组件构建目标Ambari,目标Ambari中集成了Solr服务组件;可见,通过本发明提供的技术方案,可实现将Solr集成到Ambari。

附图说明

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

图1是本发明一实施例提供的一种基于Ambari集成Solr的方法流程图;

图2是本发明一实施例提供的另一种基于Ambari集成Solr的方法流程图;

图3是本发明一实施例提供的一种Ambari服务器的结构示意图;

图4是本发明一实施例提供的另一种Ambari服务器的结构示意图。

具体实施方式

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

如图1所示,本发明实施例提供了一种基于Ambari集成Solr的方法,应用于Ambari服务器,包括:

S1:在Ambari文件目录下创建Solr服务组件对应的目标文件节点以形成目标Ambari文件目录;

S2:获取Solr服务组件,并将所述Solr服务组件存储到所述目标文件节点下;

S3:在重启Ambari服务器之后,接收对应所述Solr服务组件的编译指令;

S4:根据所述目标Ambari文件目录及所述Solr服务组件构建目标Ambari。

本发明上述实施例中,通过在Ambari服务器中的Ambari文件目录下创建Solr服务组件对应的目标文件节点以形成目标Ambari文件目录,并将Solr服务组件存储到目标Ambari文件目录的目标文件节点下,利用Ambari服务器在重启后需要扫描文件节点的特点,在Ambari服务器扫描到目标文件节点下存储的Solr服务组件后,即可接收对应Solr服务组件的编译指令,进而根据目标Ambari文件目录及目标文件节点下存储的Solr服务组件构建目标Ambari,目标Ambari中集成了Solr服务组件;可见,通过本发明提供的技术方案,可实现将Solr集成到Ambari。

进一步的,由于Ambari服务器在不同时间段对集群进行管理时,可能使用具备不同服务项目的Ambari,即Ambari服务器中可能存在多个Ambari版本,为了使得集成有Solr的目标Ambari区别于其他版本的Ambari,本发明一个优选实施例中,所述在Ambari文件目录下创建Solr服务组件对应的目标文件节点,包括:

在Ambari文件目录下创建Solr服务组件对应的目标栈节点;

在所述目标栈节点下创建Solr服务组件对应的目标文件节点。

进一步的,为了提高工作效率,针对Amabari服务器中已经存在的服务器组件不再进行分别开发,本发明一个优选实施例中,所述Ambari文件目录下包括至少一个历史栈节点;

所述Solr服务组件,包括:描述文件metainfo.xml及Solr配置文件,其中,所述描述文件metainfo.xml记录所述目标栈节点与所述至少一个历史栈节点之间的继承关系,以及,记录所述Solr配置文件的安装信息。

本发明上述实施例中,描述文件metainfo.xml记录所述目标栈节点与所述至少一个历史栈节点之间的继承关系,即实现记载即将构建的目标Ambari与Ambari服务器中已经存在的Ambari之间的继承关系,使得即将构建的目标Ambari可直接继承Ambari服务器中已经存在的一个Ambari中的全部服务组件。

相应的,为了实现目标Ambari直接继承Ambari服务器中已经存在的一个Ambari中的全部服务组件;本发明一个优选实施例中,每一个所述历史栈节点下分别包括一个历史文件节点,所述历史文件节点下存储至少一个历史服务组件;

所述根据所述目标Ambari文件目录及所述Solr服务组件构建目标Ambari,包括:

根据所述继承关系确定对应所述目标栈节点的目标历史栈节点;

根据所述目标Ambari文件目录,提取所述目标栈节点下的历史文件节点存储的至少一个目标历史服务组件;

根据所述至少一个目标历史服务组件及所述安装信息、所述Solr配置文件构建目标Ambari。

具体地,本发明一个优选实施例中,所述至少一个历史服务组件,包括如下服务组件中的一种或多种:

ZOOKEEPER、HDFS及YARN。

如图2所示,本发明实施例提供了一种基于Ambari集成Solr的方法,以需要构建的目标Ambari直接继承Ambari服务器中已经存在的一个Ambari中的全部服务组件为例,可以包括如下步骤:

步骤201,在Ambari服务器中的Ambari文件目录下创建Solr服务组件对应的目标栈节点。

本发明实施例中,目标栈节点用于描述在Ambari集成Solr以形成的目标Ambari的版本信息。

需要说明的是,Ambari服务器中的Ambari文件目录下可具备多个历史栈节点,即具备多个版本的Ambari。

步骤202,在目标栈节点下创建Solr服务组件对应的目标文件节点。

本发明实施例中,目标文件节点即目标栈节点下创建的用于存储服务组件的Service节点。

步骤203,Ambari服务器获取Solr服务组件。

本发明实施例中,Solr服务组件包括描述文件metainfo.xml及Solr配置文件,其中,所述描述文件metainfo.xml记录所述目标栈节点与所述至少一个历史栈节点之间的继承关系,以及,记录所述Solr配置文件的安装信息;应当理解的是,Solr服务组件还可以包括其他文件,比如指令脚本等。

本发明实施例中,描述文件metainfo.xml记录所述目标栈节点与所述至少一个历史栈节点之间的继承关系,即实现记载即将构建的目标Ambari与Ambari服务器中已经存在的Ambari之间的继承关系,使得即将构建的目标Ambari可直接继承Ambari服务器中已经存在的一个Ambari中的全部服务组件。

需要说明的是,Solr服务组件可以是基于AFS(Advanced Streaming Format,高级串流格式)协议开发的Solr服务组件。

还需要说明的是,

步骤204,Ambari服务器将Solr服务组件存储到目标文件节点下。

步骤205,重启Ambari服务器。

步骤206,Ambari服务器遍历目标Ambari文件目录,并将Solr服务组件存储到Ambari数据库。

步骤207,Ambari客户端通过查询Ambari服务器的Ambari数据库中存储的Solr服务组件,以向Ambari服务器发送对应Solr服务组件的编译指令。

本发明实施例中,通过查询Ambari数据库中存储的Solr服务组件,在Ambari客户端选择添加Solr服务,以触发Ambari客户端向Ambari服务器发送对应Solr服务组件的编译指令。

步骤208,Ambari服务器在接收到对应Solr服务组件的编译指令后,根据描述文件中记录的继承关系确定对应目标栈节点的目标历史栈节点。

步骤209,Ambari服务器根据目标Ambari文件目录,提取目标栈节点下的历史文件节点存储的至少一个目标历史服务组件。

举例来说,当描述文件metainfo.xml记录了目标栈节点HDP-2.1继承目标历史栈节点HDP-2.0.6时,Ambari服务器即可提取目标历史栈节点HDP-2.0.6的历史文件节点Service下存储的至少一个目标历史服务组件。

这里,至少一个目标历史服务组件包括但不限于ZOOKEEPER、HDFS及YARN。

步骤210,Ambari服务器根据至少一个目标历史服务组件及描述文件中携带的安装信息、Solr配置文件构建目标Ambari。

本发明实施例上述各个步骤中,实现构建一个目标Ambari,目标Ambari中集成了Solr服务组件,即实现将Solr集成到Ambari;同时,目标Ambari可集成Ambari服务器中已经存在的一个Ambari中的全部服务组件。

如图3所示,本发明实施例提供了一种Ambari服务器,包括:

设置模块301,用于在Ambari文件目录下创建Solr服务组件对应的目标文件节点以形成目标Ambari文件目录;

存储处理模块302,用于获取Solr服务组件,并将所述Solr服务组件存储到所述目标文件节点下;

指令接收模块303,用于在重启Ambari服务器之后,接收对应所述Solr服务组件的编译指令;

编译处理模块304,用于根据所述目标Ambari文件目录及所述Solr服务组件构建目标Ambari。

进一步的,由于Ambari服务器在不同时间段对集群进行管理时,可能使用具备不同服务项目的Ambari,即Ambari服务器中可能存在多个Ambari版本,为了使得集成有Solr的目标Ambari区别于其他版本的Ambari,如图4所示,本发明一个优选实施例中,所述设置模块301,包括:

第一设置子单元3011,用于在Ambari文件目录下创建Solr服务组件对应的目标栈节点;

第二设置子单元3012,用于在所述目标栈节点下创建Solr服务组件对应的目标文件节点。

进一步的,为了提高工作效率,针对Amabari服务器中已经存在的服务器组件不再进行分别开发,本发明一个优选实施例中,所述Ambari文件目录下包括至少一个历史栈节点;

所述Solr服务组件,包括:描述文件metainfo.xml及Solr配置文件,其中,所述描述文件metainfo.xml记录所述目标栈节点与所述至少一个历史栈节点之间的继承关系,以及,记录所述Solr配置文件的安装信息。

进一步的,为了实现目标Ambari直接继承Ambari服务器中已经存在的一个Ambari中的全部服务组件;如图4所示,本发明一个优选实施例中,所述编译处理模块304,包括:

确定子单元3041,用于根据所述继承关系确定对应所述目标栈节点的目标历史栈节点;

提取子单元3042,用于根据所述目标Ambari文件目录,提取所述目标栈节点下的历史文件节点存储的至少一个目标历史服务组件;

编译子单元3043,用于根据所述至少一个目标历史服务组件及所述安装信息、所述Solr配置文件构建目标Ambari。

进一步的,本发明一个优选实施例中,所述至少一个历史服务组件,包括如下服务组件中的一种或多种:

ZOOKEEPER、HDFS及YARN。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明各个实施例至少具有如下有益效果:

1、通过在Ambari服务器中的Ambari文件目录下创建Solr服务组件对应的目标文件节点以形成目标Ambari文件目录,并将Solr服务组件存储到目标Ambari文件目录的目标文件节点下,利用Ambari服务器在重启后需要扫描文件节点的特点,在Ambari服务器扫描到目标文件节点下存储的Solr服务组件后,即可接收对应Solr服务组件的编译指令,进而根据目标Ambari文件目录及目标文件节点下存储的Solr服务组件构建目标Ambari,目标Ambari中集成了Solr服务组件;可见,通过本发明提供的技术方案,可实现将Solr集成到Ambari。

2、通过描述文件metainfo.xml记录目标栈节点与至少一个历史栈节点之间的继承关系,在构建集成有Solr服务组件的目标Amabri时,可根据该继承关系,直接继承Ambari服务器中已经存在的一个Ambari中的全部服务组件。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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