1. 程式人生 > >Ambari Agent Command分析

Ambari Agent Command分析

cut 技術分享 連接 從數據 ima 過去 介紹 com title

一、概述:

根據 Ambari Server 架構文章中的介紹,由於 Ambari Server 和 Ambari Agent 之間是通過 HTTP 短連接進行通信,所以 Server 無法把需要執行的 Command,直接推送給 Agent,而是需要把命令存儲在 ActionQueue 中,

然後 Agent 通過定期發送 Heartbeat 請求,把 Command 拉過去執行,並通過下次的 Heartbeat 請求,返回執行結果。下面簡單分析一下 Command 的處理過程:

二、Agent Command 類型

  • REGISTRATION_COMMAND:註冊指令
  • STATUS_COMMAND:匯報狀態
  • EXECUTION_COMMAND:執行任務
  • CANCEL_COMMAND:取消任務
  • ALERT_DEFINITION_COMMAND:更新 Alert 定義
  • ALERT_EXECUTION_COMMAND:立即執行一個 Alert

三、Request 處理邏輯

時機:用戶觸發了一個操作服務/組件的操作

1、計算依賴,生成 Command,並保存到數據庫
2、定期從數據庫加載 Command,並添加到 ActionQueue
3、心跳邏輯:
· 把 ActionQueue 中的所有 Command 下發給 Agent
· 根據 Agent 的匯報,處理 Request 的結果

技術分享

技術分享

技術分享

技術分享

Ambari Agent Command分析