一种基于Ambari的前后端分离系统和方法技术方案

技术编号:24798972 阅读:29 留言:0更新日期:2020-07-07 20:57
本发明专利技术涉及一种基于Ambari的前后端分离系统和方法,其特征在于其包括:Web用户界面交互模块、一个以上服务器端、监控管理服务模块、一个以上监控端以及一个以上处理模块;所述Web用户界面交互模块独立于各所述服务器端单独部署,用于为用户提供交互界面,将用户发送的请求发送给当前服务器端,并对所述当前服务器端返回的信息进行前端显示;各所述服务器端与所述Web用户界面交互模块、监控管理服务模块以及各处理模块均通过Http Rest api方式进行交互,所述监控管理服务模块与各所述监控端也通过Http Rest api方式进行交互。本发明专利技术可以广泛应用于数据处理领域。

【技术实现步骤摘要】
一种基于Ambari的前后端分离系统和方法
本专利技术涉及一种基于Ambari的前后端分离系统和方法,属于大数据

技术介绍
ApacheAmbari,是一种基于Web的Hadoop分布式集群配置管理工具,Ambari充分利用了一些已有的优秀开源软件,并巧妙地将它们结合起来,使其在分布式环境中具备集群式服务管理能力、监控能力和展示能力。Ambari框架主要由两部分组成:Ambari-agent和Ambari-server。其中,Ambari-agent:主要部署在监控节点上运行的管理监控程序,其主要依赖python,ruby,puppet,fecter等工具,同时也依赖一些诸如nagios和ganglia等监控工具来监控集群状况。其中,puppet是分布式集群配置管理工具,也是典型的Server/Client模式,该管理工具能够集中式管理分布式集群的安装配置部署,主要语言是ruby。facter是一个节点资源采集库,用于采集节点的系统信息,例如OS信息,facter采用Python语言编写,且由于Ambari-agent同样主要采用Python语言编写,因此用facter可以很好的采集到节点信息。Ambari-server:是Ambari的Server程序,主要管理部署在每个节点上的管理监控程序,其主要依赖python工具。如图1所示,由于ApacheAmbari架构本身是分布式架构server/agent模式,后端服务器(AmbariServer)承载了组件安装部署、配置、监控管理的功能,多重分布式架构叠加在一起,造成Ambari架构极其复杂的特点,二次开发调试极为不方便和灵活。
技术实现思路
针对上述问题,本专利技术的目的是提供一种基于Ambari的前后端分离系统和方法,将前端Web展现层独立出来,通过Api分发器与服务器端进行交互,前端Web展现层所有的动态的数据的获取,都是以HttpRestapi的方式,进行异步调用,从后端服务器获取实时的相应的资源,使得后端服务器的升级不会影响到前端Api的调用。为实现上述目的,本专利技术采取以下技术方案:本专利技术的第一个方面,是提供一种基于Ambari的前后端分离系统,其包括:Web用户界面交互模块、一个以上服务器端、监控管理服务模块、一个以上监控端以及一个以上处理模块;所述Web用户界面交互模块独立于各所述服务器端单独部署,用于为用户提供交互界面,将用户发送的请求发送给当前服务器端,并对所述当前服务器端返回的信息进行前端显示;各所述服务器端与所述Web用户界面交互模块、监控管理服务模块以及各处理模块均通过HttpRestapi方式进行交互,所述监控管理服务模块与各所述监控端也通过HttpRestapi方式进行交互。进一步的,所述Web用户界面交互模块包括过滤器-路由、静态资源展现层、Api分发器和静态资源服务器;所述过滤器-路由用于接收用户发送的数据资源请求,根据请求的数据资源类型将数据资源请求分为动态数据资源请求和静态数据资源请求两类,并将动态数据资源请求和静态数据资源请求分别发送到所述Api分发器和静态资源展现层;所述Api分发器将接收到的动态数据资源请求分发到所述当前服务器端进行访问,访问得到的动态数据资源通过所述过滤器-路由返回给相应用户;所述静态资源展现层根据接收到的静态数据资源请求对所述静态资源服务器进行访问,访问得到的静态数据资源通过所述过滤器-路由返回相应用户。进一步的,所述静态资源展现层作为各组件的视图展现层及平台操作基础页面资源,其包括管理员视图模块、Yarn队列管理视图模块、文件视图模块、Hive视图模块、Oozine视图模块、Tez视图模块;所述管理员视图模块用于对用户进行管理,包括用户的添加或删除、用户密码修改或权限修改;所述Yarn队列管理视图模块用于对yarn的图形化管理;所述文件视图模块用于对分布式文件存储系统的图形化操作界面管理;所述Hive视图模块用于hadoop分布式数仓Hive图形化界面的SQL查询功能;所述Oozie视图模块用于hadoop分布式任务调度引擎Oozie的界面化操作功能;所述Tez视图模块用于开发分布式计算引擎Tez的图形化界面操作功能。进一步的,所述Api分发器内设置Api调用模块、信息存储模块以及服务器端监测模块;所述Api调用模块用于将接收到的动态资源请求分发到所述当前服务器端,并接收所述服务器端返回的数据;所述服务器端监测模块用于对各所述服务器端的状态进行监测,根据监测结果以及预先设置的服务器端优先级顺序列表,将处于正常状态的服务器端设置为所述当前服务器端;所述信息存储模块用于保存用户的cookie信息,便于用户在cookie信息有效范围内,随时对所述当前服务器端进行访问。进一步的,所述Api调用模块将接收到的动态数据资源请求分发到所述当前后端服务器进行访问时,采用doGet方法、doPost方法、doPut方法、doDelete方法和doOptions方法。进一步的,用户向所述Web用户界面交互模块发送数据资源请求前,首先发送用户认证消息,所述Web用户界面交互模块通过所述Api分发器将用户发送的认证消息发送到所述当前服务器端;所述当前服务器端根据接收到的认证消息对相应用户进行认证,认证通过后生成相应用户的cookie信息并发送到所述Api分发器,由所述Api分发器将用户的cookie信息进行保存。本专利技术的第二个方面,是提供一种基于Ambari的前后端分离系统的方法,其包括以下步骤:1)用户通过Web用户界面交互模块发送认证消息,由当前后端服务器对相应用户进行认证;2)认证通过后,用户通过Web用户界面交互模块发送数据资源请求信息,由Web用户界面交互模块直接进行数据资源展示或对当前服务器端进行访问后,根据当前服务器端返回的数据资源进行数据资源展示。进一步的,所述步骤1)中,当前后端服务器对相应用户进行认证的方法,包括以下步骤:1.1)用户通过Web用户界面交互模块发送认证消息;1.2)Web用户界面交互模块通过Api分发器将用户的认证消息发送到当前服务器端;1.3)当前服务器端根据接收到的认证消息对相应用户进行认证,认证通过后生成相应用户的cookie信息并发送到Api分发器;1.4)Api分发器将用户的cookie信息进行保存,并在cookie信息有效范围内,根据用户发送的数据资源请求访问当前服务器端。进一步的,所述步骤2)中,认证通过后,用户通过Web用户界面交互模块发送数据资源请求信息,由Web用户界面交互模块直接进行数据资源展示或对当前服务器端进行访问后,根据当前服务器端返回的数据资源进行数据资源展示的方法,包括以下步骤:2.1)Web用户界面交互模块中的过滤器-路由根据请求的类型将数据资源请求划分为动态数据资源请求和静态数据资源请求,并将动态数据资源请求发送到Api分发器,将静态数据资源请求发送到静态资源展现层;2.2)静态资源展现层根据接收到的静态数据资源请求对静态资源服务器进行访问,访问得到的静态数据资源通过过滤本文档来自技高网
...

【技术保护点】
1.一种基于Ambari的前后端分离系统,其特征在于其包括:Web用户界面交互模块、一个以上服务器端、监控管理服务模块、一个以上监控端以及一个以上处理模块;/n所述Web用户界面交互模块独立于各所述服务器端单独部署,用于为用户提供交互界面,将用户发送的请求发送给当前服务器端,并对所述当前服务器端返回的信息进行前端显示;/n各所述服务器端与所述Web用户界面交互模块、监控管理服务模块以及各处理模块均通过Http Rest api方式进行交互,所述监控管理服务模块与各所述监控端也通过HttpRest api方式进行交互。/n

【技术特征摘要】
1.一种基于Ambari的前后端分离系统,其特征在于其包括:Web用户界面交互模块、一个以上服务器端、监控管理服务模块、一个以上监控端以及一个以上处理模块;
所述Web用户界面交互模块独立于各所述服务器端单独部署,用于为用户提供交互界面,将用户发送的请求发送给当前服务器端,并对所述当前服务器端返回的信息进行前端显示;
各所述服务器端与所述Web用户界面交互模块、监控管理服务模块以及各处理模块均通过HttpRestapi方式进行交互,所述监控管理服务模块与各所述监控端也通过HttpRestapi方式进行交互。


2.如权利要求1所述的一种基于Ambari的前后端分离系统,其特征在于:所述Web用户界面交互模块包括过滤器-路由、静态资源展现层、Api分发器和静态资源服务器;
所述过滤器-路由用于接收用户发送的数据资源请求,根据请求的数据资源类型将数据资源请求分为动态数据资源请求和静态数据资源请求两类,并将动态数据资源请求和静态数据资源请求分别发送到所述Api分发器和静态资源展现层;
所述Api分发器将接收到的动态数据资源请求分发到所述当前服务器端进行访问,访问得到的动态数据资源通过所述过滤器-路由返回给相应用户;
所述静态资源展现层根据接收到的静态数据资源请求对所述静态资源服务器进行访问,访问得到的静态数据资源通过所述过滤器-路由返回相应用户。


3.如权利要求2所述的一种基于Ambari的前后端分离系统,其特征在于:所述静态资源展现层作为各组件的视图展现层及平台操作基础页面资源,其包括管理员视图模块、Yarn队列管理视图模块、文件视图模块、Hive视图模块、Oozine视图模块、Tez视图模块;
所述管理员视图模块用于对用户进行管理,包括用户的添加或删除、用户密码修改或权限修改;
所述Yarn队列管理视图模块用于对yarn的图形化管理;
所述文件视图模块用于对分布式文件存储系统的图形化操作界面管理;
所述Hive视图模块用于hadoop分布式数仓Hive图形化界面的SQL查询功能;
所述Oozie视图模块用于hadoop分布式任务调度引擎Oozie的界面化操作功能;
所述Tez视图模块用于开发分布式计算引擎Tez的图形化界面操作功能。


4.如权利要求2所述的一种基于Ambari的前后端分离系统,其特征在于:所述Api分发器内设置Api调用模块、信息存储模块以及服务器端监测模块;
所述Api调用模块用于将接收到的动态资源请求分发到所述当前服务器端,并接收所述服务器端返回的数据;
所述服务器端监测模块用于对各所述服务器端的状态进行监测,根据监测结果以及预先设置的服务器端优先级顺序列表,将处于正常状态的服务器端设置为所述当前服务器端;
所述信息存储模块用于保存用户的cookie信息,便于用户在cookie信息有效范围内,随时对所述当前服...

【专利技术属性】
技术研发人员:朱加周
申请(专利权)人:北京东方金信科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1