Ambari大数据平台集成大数据组件的方法及介质与流程

专利2022-05-10  20


ambari大数据平台集成大数据组件的方法及介质
技术领域
1.本发明涉及大数据技术领域,具体涉及一种ambari大数据平台集成大数据组件的方法、终端及介质。


背景技术:

2.目前ambari大数据平台的hdp包已经包含了十多种大数据组件,但难免还有一些大数据组件和数据库没有被集成到ambari里,如果在ambari大数据平台之外再单独搭建需要的大数据组件的话,还需要分别对这些组件进行搭建、运维以及监控,脱离了大数据平台的初衷。


技术实现要素:

3.针对现有技术中的缺陷,本发明实施例提供一种ambari大数据平台集成大数据组件的方法、终端及介质,能完成对所有大数据组件的安装、部署和配置及管理,还能完成对所有大数据服务的启动、暂停和监控,减少运维成本,提高开发效率,有问题能及时排查到,大大提高了工作效率。
4.第一方面,本发明实施例提供的一种ambari大数据平台集成大数据组件的方法,包括:
5.在目标路径下创建目录;
6.在所述目录下创建子目录和组件配置文件;
7.ambari大数据平台的web程序调用组件配置文件进行服务的安装、部署、监控、配置和修改。
8.可选地,组件配置文件包括alerts.json文件,所述alerts.json文件用于定义组件的角色。
9.可选地,组件配置文件包括kerberos.json文件,所述kerberos.json文件用于定义与权限kerberos相关的配置。
10.可选地,组件配置文件包括metainfo.xml文件,所述metainfo.xml文件用于配置组件的名字、版本、信息介绍、组件安装时是否依赖其他组件、配置标签来指向安装过程中需要用到的python脚本以及增加log配置区分组件不同角色产生的日志。
11.可选地,组件配置文件包括metrics.json文件,所述metrics.json文件用于监控组件的各项指标。
12.可选地,组件配置文件包括service_check.py文件,所述service_check.py文件用于对搭建完成或刚启动组件时需要做的服务检查程序。
13.第二方面,本发明实施例提供的一种智能终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述实施例描述的方法。
14.第三方面,本发明实施例提供的计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述实施例描述的方法。
15.本发明的有益效果:
16.本发明实施例提供的一种ambari大数据平台集成大数据组件的方法、终端及介质,实现在ambari大数据平台上集成任何的大数据组件,能完成对所有大数据组件的安装、部署和配置及管理,还能完成对所有大数据服务的启动、暂停和监控,减少运维成本,提高了开发效率,保证了线上的稳定性,有问题能及时排查到,大大提高了工作效率。
附图说明
17.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
18.图1示出了本发明第一实施例所提供的一种ambari大数据平台集成大数据组件的方法的流程图;
19.图2示出了本发明第二实施例所提供的一种智能终端的结构框图。
具体实施方式
20.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
21.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
22.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
23.还应当进一步理解,本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
24.如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0025]
需要注意的是,除非另有说明,本技术使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
[0026]
如图1所示,示出了本发明第一实施例所提供的一种ambari大数据平台集成大数据组件的方法的流程图,包括以下步骤:
[0027]
在目标路径下创建目录;
[0028]
在所述目录下创建子目录和组件配置文件;
[0029]
ambari大数据平台的web程序调用组件配置文件进行服务的安装、部署、监控、配置和修改。
[0030]
以下采用以ambari大数据平台集成kafka为例对上述方法进行详细说明。
[0031]
首先,在目标路径下创建kafka目录,然后在此目录下创建子目录和组件配置文件,具体的组件配置文件要实现什么功能就修改组件配置文件的源代码。
[0032]
组件配置文件包括alerts.json文件,alerts.json文件用于定义组件的主要角色。在kafka里面定义的是kafka的broker。若是在es里面定义的就是master。里面的配置项用的都是一套模板,只不过value值不一样,所以在集成新组件的时候,按照实际组件的角色填写这份模板就可以,这样可以减少工作量,提高工作效率。
[0033]
组件配置文件包括kerberos.json文件,kerberos.json文件用于定义跟权限kerberos相关的配置。如果需要用这个文件,需要提前和kerberos集成好,然后把文件存储到相应的位置。如果不用kerberos组件,那么就可以不用配置kerberos.json文件。
[0034]
组件配置文件包括metainfo.xml文件,metainfo.xml文件用于配置元数据的信息,集成其他组件时也可以根据这一模板,配置其他组件的信息。配置的内容会在页面部署该组件时展示。在metainfo.xml文件中除了定义组件的名字、版本和介绍之外,还需要定义这个组件里的不同角色、对应的数量要求以及这个组件安装时是否依赖其他组件,如果添加了这一项dependencies配置,那么在页面部署时,如果被依赖的组件没有安装,那么部署将无法继续。另外,在配置项里还需要配置commandscript标签来指向安装过程中需要用到的python脚本;还需要增加log配置,来区分组件不同角色产生的日志。
[0035]
在搭建开源组件时,会有多个配置文件,需要把这些配置文件的名字区分开并写入metainfo.xml文件里,这样页面部署时就可以通过不同的文件名字的配置项来配置,所有开源组件下的configuration下的文件,都要把文件名配置在metainfo.xml里。另外,在需要配置操作系统要求下,ubuntu和debian为一类,centos为一类。如果需要在部署完组件以后,有快捷链接达到组件的web ui里,也需要在metainfo.xml里配置quicklinksconfiguration标签,比如kibana,yarn,spark等组件。
[0036]
组件配置文件包括metrics.json文件,metrics.json文件的作用是监控组件的各项指标,并且需要和ambari metrics组件搭配使用。如果不配置metrics.json文件,那么ambari页面就只能监控这个组件的进程和节点的数量。比如:能监控es的master有几个是alive的,但是不能监控es的数据量、使用的内存等详细指标。
[0037]
configuration下包含多个搭建开源软件时需要的配置文件,这些配置文件安装部署后都会出现在组件的安装目录下的conf下,保存在这个目录下的文件名和上述metainfo.xml文件里面配置的文件名一样。不同的是在configuration下的配置文件都是xml格式的,在xml中配置好配置项的名字、值、值的类型和介绍等数据,配置的数据会在页面部署组件的时候出现。
[0038]
package/archive.zip和package/scripts,实际上archive.zip解压之后就是scripts文件夹,scripts文件夹下存放的都是python脚本,通过amabri部署相关大数据组件所有的脚本程序全都放在这个目录下。
[0039]
组件配置文件包括params.py文件,在params.py文件中配置所有参数,在ambari
页面部署大数据组件时,配置项填完以后,params.py程序读取页面上填写的配置,并且会读取本地的相关大数据组件配置文件,包括jvm(java virtual memory)配置和进程的pid(标识符),jvm是java的一个虚拟内存,在这里一定要把所有的配置文件和配置项读全。
[0040]
组件配置文件包括kafka_broker.py和kafka.py文件,用kafka_broker.py和kafka.py文件完成组件不同角色的安装。具体有多少个这样的python文件因大数据组件而异,是根据大数据组件的角色数量决定。以amabri集成es来说,这里就需要两个python脚本,一个是es_master.py,一个是es_slave.py,这两个程序都相似,在里面定义了几种对相关角色的操作:比如install安装,用户名用户组创建,数据目录和日志目录的创建,配置了相关组件的安装命令和安装包的地址,部署的时候用params.py文件获取读取页面填写的配置参数,将这些参数填充到这es_master.py es_slave.py配置文件里。另外es_master.py es_slave.py这两个程序里还需要定义获取es这个大数据组件里对各个角色启动和暂停状态获取的代码。
[0041]
组件配置文件包括service_check.py文件,service_check.py文件用于对刚搭建完或刚启动组件时需要做的service检查程序,不同组件的这个程序会有差异,但大同小异,都需要对组件进行检查,所有组件的共有代码就是会检查进程的pid是否存在,至于是否要增加其他的检查就根据实际情况而定。官方集成的kafka里不但会检查pid,而且会有创建topic等操作来检查kafka是否可用。
[0042]
组件配置文件包括status_params.py文件,在status_params.py文件里开发程序获取大数据组件的配置,并获取pid的目录,并获取pid文件。
[0043]
templates目录存放对应大数据组件的配置文件模板,用户在安装部署页面上填写的配置项的值,脚本程序获取到以后填充这个文件下面的模板,最终生成配置文件。比如:kafka有input.config

kafka.json.j2,kafka_client_jaas.conf.j2,kafka.conf.j2,kafka_jaas.conf.j2,tools

log4j.properties.j2这几个文件。es里面只需要
[0044]
elasticsearch.jvm.options.j2,elasticsearch.master.yml.j2,elasticsearch.slave.yml.j2这几个文件。
[0045]
按照上面所述的方法对代码进行编写就可以实现amabri集成所有的大数据组件。
[0046]
本发明实施例提供的一种ambari大数据平台集成大数据组件的方法,实现在ambari大数据平台上集成任何的大数据组件,能完成对所有大数据组件的安装、部署和配置及管理,还能完成对所有大数据服务的启动、暂停和监控,减少运维成本,提高了开发效率,保证了线上的稳定性,有问题能及时排查到,大大提高了工作效率。
[0047]
如图2所示,示出了本发明第二实施例提供的一种智能终端的结构框图,该终端包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一实施例描述的方法。
[0048]
应当理解,在本发明实施例中,所称处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处
理器也可以是任何常规的处理器等。
[0049]
输入设备可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备可以包括显示器(lcd等)、扬声器等。
[0050]
该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
[0051]
具体实现中,本发明实施例中所描述的处理器、输入设备、输出设备可执行本发明实施例提供的方法实施例所描述的实现方式,也可执行本发明实施例所描述的系统实施例的实现方式,在此不再赘述。
[0052]
在本发明还提供一种计算机可读存储介质的实施例,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述实施例描述的方法。
[0053]
所述计算机可读存储介质可以是前述实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
[0054]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0055]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0056]
在本技术所提供的几个实施例中,应该理解到,所揭露终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
[0057]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
转载请注明原文地址:https://doc.8miu.com/read-1350267.html

最新回复(0)