Ambari 架构(三)Ambari Server 架构

Ambari Server 架构图,由图中看,主要有4部分:

Resource Service:资源服务,用来接收前端的 Rest 请求。关于 Resource 的几个基本概念:

  • Resource:Ambari Server 定义了各种各样的 Resource,比如 Config、User、Cluster、
  • Component、Alert 等都是一种 Resource。
  • Resource Type:每种 Resource 都对应一个 ResourceType,标记所属的资源类型。
  • Resource Service:每种 Resource 都对应一个 Resource Service,比如ConfigService、UserService等,Service 中定义了相对应 Resource 的 Rest API。
  • Resource Provider:每种 Resource 都对应一个 ResourceProvider,比如ConfigResourceProvider、UserResourceProvider等,对 Resource 的具体操作,都封装在 Provider 中。

HeartBeatHandler:处理 Agent 的 Heartbeat 请求。

ActionQueue:每个 Host 都有一个 ActionQueue 记录着需要这台 Host 执行的命令。

FSM:维护组件状态的有限状态机。

简述一下 Ambari Server 的工作流程:
前端请求处理流程:前端提交一个 Rest 请求,相应 Resource 的 Service 处理请求,根据 ResourceType 找到对应的 ResourceProvider 执行具体的操作;如果存在需要 Agent 执行的操作,则把操作存储到相应 Host 的 ActionQueue 中;如果需要改变组件的状态,则需要操作 FSM。

Agent 请求处理流程:Agent Heartbeat 每10秒执行一次,Heartbeat Request 会携带命令的执行情况、组件状态以及 Host 状态等信息,HeartBeatHandler 会根据汇报上来的命令执行情况,去操作 FSM 来维护组件的状态;HeartBeatHandler 会从 ActionQueue 中取出需要 Host 执行的命令、修改的配置、Alert 定义等信息,通过 HeartBeat Response 返回给 Agent 执行。

总体来说由于 Ambari Server 和 Ambari Agent 之间是通过短连接进行通信,所以 Server 无法把需要执行的命令,直接推送给相应的 Agent,所以需要 ActionQueue 来存储命令,然后通过 Heartbeat 把命令下发给 Agent 执行。

转载自 并发编程网 - ifeve.com

时间: 2024-10-24 15:25:33

Ambari 架构(三)Ambari Server 架构的相关文章

MSSQL - 架构分析 - 从SQL Server 2017发布看SQL Server架构的演变

title: MSSQL - 架构分析 - 从SQL Server 2017发布看SQL Server架构的演变 author: 风移 摘要 美国时间2017年10月2日,微软正式发布了最新一代可以运行在Linux平台的数据库SQL Server 2017.SQL Server 2017给用户带来了一系列的新功能特性的同时,也体现了微软关于自家关系型数据库平台建设方面的最新设计与思考.这篇文章旨在介绍SQL Server 2017新特性,以及微软是如何从架构层面的演进来快速实现Linux平台的S

《精通ArcGIS Server 应用与开发》——2.2 ArcGIS Server架构

2.2 ArcGIS Server架构 精通ArcGIS Server 应用与开发 ArcGIS Server是一个分布式系统,由多个部分组成,可分别部署在不同的机器上.它们分别在进程的管理.启动和关闭以及对象运行的服务器负载均衡方面发挥着各自的作用.ArcGIS Server的体系结构如图2-1所示. 客户端表现层包括基于浏览器/服务器(B/S)结构的浏览器和基于客户端/服务器(C/S)结构的桌面应用程序.该层主要调用ArcGIS Server开发的功能和访问ArcGIS Server发布的数

MSSQL · 架构分析 · 从SQL Server 2017发布看SQL Server架构的演变

摘要 美国时间2017年10月2日,微软正式发布了最新一代可以运行在Linux平台的数据库SQL Server 2017.SQL Server 2017给用户带来了一系列的新功能特性的同时,也体现了微软关于自家关系型数据库平台建设方面的最新设计与思考.这篇文章旨在介绍SQL Server 2017新特性,以及微软是如何从架构层面的演进来快速实现Linux平台的SQL Server 2017产品. SQL Server 2017发布 早在2016年,当微软宣布SQL Server将很快在Linux

cpu-求大神解释下NUMA、UMA、SMP这三种CPU架构?

问题描述 求大神解释下NUMA.UMA.SMP这三种CPU架构? 分别对应我们现在常用的哪些机器上使用? 前两个好像只是一个N的区别.. 解决方案 打开机箱,如果你看到有多个插CPU的插座,那就是SMP 如果每个CPU旁边有一组单独的内存插座,那就是NUMA,否则就是UMA 解决方案二: NUMA.SMP都是服务器上用的.PC一般只有1个CPU. 解决方案三: NUMA就是非统一内存访问 UMA就是统一内存访问 普通PC就是UMA. 解决方案四: 在UMA系统中,CPU直接就可以访问所有内存.

联想高级架构师分享:架构之道-规划、简化和演化

架构这个概念,和计算机科学(包括近几年才成为一级学科的软件工程)的其他术语类似,都是从传统学科借用来的.这是因为计算机科学太年轻.发展太快,来不及形成自己特有的术语和名词.因此,在学习和思考方法上,常常推荐类比法,尝试用一些耳熟能详的事物去理解和解释计算机科学领域的概念,以求"老妪能懂"的效果. 这里介绍的一些内容,大多是个人在学习和实践过程中的一些思考和体会,以及平时的一些学习笔记整理而成,还很不成体系,还有很多需要继续推敲的地方.我会在未来的工作实践中更加深入思考,广泛参考领域内的

亿级流量电商详情页系统实战:缓存架构+高可用服务架构+微服务架构

<缓存架构+高可用服务架构+微服务架构>深入讲解了亿级流量电商详情页系统的完整大型架构.同时最重要的是,在完全真实的大型电商详情页系统架构下,全流程实战了整套微服务架构,包含了基于领域驱动设计进行微服务建模.Spring Cloud.基于DevOps的持续交付流水线与自动化测试套件.基于Docker的自动化部署.此外,还包含了大型电商详情页系统架构中的多种复杂架构设计的详细介绍. <亿级流量电商详情页系统实战(第一版)>的内容,主要是基于简化以后的大型电商详情页系统的背景,重点包含

在首席架构师眼里,架构的本质是……

目前讨论架构实操(术)的文章较多,讨论架构理念(道)的较少,本文基于作者在大型电商系统架构方面的一些实践和思考,和大家聊聊架构理念性的东西,希望能够抛砖引玉,推进大家对架构的认识. 什么是道,什么是术?道是事物发展的本质规律,术是事物发展的具体途径.规律只有一个,途径很多,条条大路通罗马,罗马是道,大路是术.道为本,术为途,如果事先知道罗马在哪里,那么遍地是路,路路相通.架构也是如此,如果能领悟架构的本质,就不会拘泥于现有的实践和理论框框,而以最直接的方式解决问题,无招胜有招.本文的内容包括架构

C/S架构与B/S架构的概念和区别

C/S架构 C/S 架构也可以看做是胖客户端架构.因为客户端需要实现绝大多数的业务逻辑和界面展示.这种架构中,作为客户端的部分需要承受很大的压力,因为显示逻辑和事务处理都包含在其中,通过与数据库的交互(通常是SQL或存储过程的实现)来达到持久化数据,以此满足实际项目的需要. C/S架构的优缺点优点: 1.C/S架构的界面和操作可以很丰富. 2.安全性能可以很容易保证,实现多层认证也不难. 3.由于只有一层交互,因此响应速度较快. 缺点: 1.适用面窄,通常用于局域网中. 2.用户群固定.由于程序

DotNET企业架构应用实践-系统架构与性能-在业务中实例使用缓存与缓存查询-附上视频

回顾与说明      本文是DotNET企业架构应用实践系列中的一篇文章,同时也是一步一步教你使用AgileEAS.NET基础类库进行应用开发系统中的一篇文章,所以本文应该还有一个副标题"一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-在商口入库业务中使用缓存与缓存查询",为什么会是这样呢?这个原因主要是我希望我在讲企业架的时候有结合具体的实例进行讲解,而不是泛泛而谈,而在AgileEAS.NET平台的案例开发中也正好涉及这样的内容.     在前面

hibernate-技术架构的图片 技术架构的图片

问题描述 技术架构的图片 技术架构的图片 技术架构的图片 1.简单的struts+hibernate的开发框架 2.struts+spring+hibernate框架 3.springmvc+spring+mybatis的框架 解决方案 架构高性能海量图片服务器的技术要素架构高性能海量图片服务器的技术要素架构高性能海量图片服务器的技术要素 解决方案二: 可以参考插件化开源开发平台JXADF的架构图,详细参见:http://osgi.help