Ambari Agent Command分析
阿新 • • 發佈:2017-05-11
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分析