Ambari 架构(四)Ambari Agent 架构
  TEZNKK3IfmPf 2023年11月14日 55 0

Ambari Agent 架构图,由图中看,主要有3部分:

  • HeartBeatHandler:发送 HTTP 请求和 Ambari Server 进行交互。
  • ActionExecutor:Command 执行器。
  • AlertSchedulerHandler:Alert 处理器。

4个数据容器:

  • CommandQueue:存储需要执行的 Command。
  • ResultMap:存储 Command 的执行结果。
  • Alert definitions file:是一个文件,保存所有的 Alert 定义。
  • AlertCollect:存储 Alert 的检查结果。

简一下 Ambari Agent 的工作流程:

  1. HeartBeatHandler: 收集组件当前状态(通过ResultMap)、Command 执行结果(通过ResultMap)、Alert 检查结果(通过 AlertCollect)等,封装到 HTTP Request 当中,发送给 Ambari Server;Ambari Server 响应请求,通过 HTTP Response 带回来需要执行的 Command、需要终止的 Command、发生修改的 Config、发生修改的 Alert 定义等,并把 Comand 和 修改的 Config 封装为 Agent Command 对象,存储到 CommandQueue 中;把修改的 Alert 定义,更新到 Alert definitions 文件中(如果 Alert definitions 文件发生了变化,需要通知 AlertSchedulerHandler 重新加载一遍
  2. ActionExecutor: 定期从 CommandQueue 中加载需要执行的 Command,找到 Command 对应的 Python 脚本,执行脚本,并把结果存储到 ResultMap 中。
  3. AlertSchedulerHandler: 从 Alert definitions 文件中加载所有 Alert 定义,根据 Alert 定义,找到对应的 Python 脚本,周期性执行,并把结果存储到 AlertCollect 中。
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2023年11月14日   32   0   0 存储
  TEZNKK3IfmPf   2024年04月12日   55   0   0 磁盘存储
  TEZNKK3IfmPf   2023年11月14日   37   0   0 存储Docker
  TEZNKK3IfmPf   2023年11月14日   43   0   0 存储
  TEZNKK3IfmPf   2023年11月14日   25   0   0 硬盘存储
  TEZNKK3IfmPf   2023年11月14日   30   0   0 mysql存储
  TEZNKK3IfmPf   2024年04月19日   35   0   0 存储
  TEZNKK3IfmPf   2023年11月14日   31   0   0 ceph存储
  TEZNKK3IfmPf   2023年11月14日   19   0   0 k8s存储
TEZNKK3IfmPf