Ambari Agent 源码分析

一、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"

猜你喜欢

转载自www.cnblogs.com/mymelody/p/9435861.html