1. 程式人生 > >Ambari Agent 源碼分析

Ambari Agent 源碼分析

eset 執行 所有 color amp multipl 文件目錄 run tom

一、ambari-agent 啟動方式

Ambari-Agent的啟動腳本為/etc/init.d/ambari-agent。該腳本主要實現了start,stop,status,restart,reset方法。對於start,stop,status,reset方法的實現,直接調用/usr/sbin/ambari-agent腳本,將所有命令參數傳入進去,reset直接調用stop,在調用start。

二、ambari-agent啟動腳本

/usr/sbin/ambari-agent 通過軟鏈接指向/etc/init.d/ambari-agent,其執行過程如下:

1. set -u 腳本執行過程中,如果使用到未定義的變量,則顯示錯誤信息。

set -u # fail on unset variables

2. 參數檢測,如果設置了“–home”參數,則根據參數值,設置HOME_DIR。Ambari-Agent允許在單臺節點上運行多個agent客戶端(進行集群模擬),每個客戶端有自己的配置文件目錄。默認情況下,HOME_DIR為空。

export HOME_DIR=""
if [ "$#" = 3 ] && [ $2 = "--home" ] ; then
  export HOME_DIR=$3
  echo "Allow running multiple agents on this host; will use custom Home Dir: $HOME_DIR
" fi

3. 設置環境變量CONFIG_FILE="$HOME_DIR/etc/ambari-agent/conf/ambari-agent.ini",默認情況下,CONFIG_FILE=/etc/ambari-agent/conf/ambari-agent.ini。

export CONFIG_FILE="$HOME_DIR/etc/ambari-agent/conf/ambari-agent.ini"

Ambari Agent 源碼分析