Ambari Agent 源码分析

Posted mymelody

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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"

 

以上是关于Ambari Agent 源码分析的主要内容,如果未能解决你的问题,请参考以下文章

Ambari-Server Rest API处理2(Ambari-Server通过Rest API进行服务安装部署操作流程+操作源码分析)

Ambari深入学习(II)-实现细节

hadoop-12-安装ambari-agent

AMBARI 源码分析之底层状态机实现

apache Ambari Server和Agent有啥区别

Ambari Agent 架构