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"

原文地址:https://www.cnblogs.com/mymelody/p/9435861.html

时间: 2024-11-29 09:30:35

Ambari Agent 源码分析的相关文章

Ambari源码分析之总览

一.基本概念: Resource:Ambari把可以被管理的资源的抽象为一个Resource实例,资源可以包括服务.组件.主机节点等,一个resource实例中包含了一系列该资源的属性: Property:服务组件的指标名称: ResourceProvider和PropertyProvider分别对应Resource和Property的提供方,获取指标需要先获取Resource,然后获取Property对应的metric: Query:Query是Resource的内部对象,代表了对该资源的操作

Ambari源码分析之Resource.Type与ResourceProvider对应关系

测试环境:Oracle Enterprise Linux 64-bit (5.8版本) + Oracle 11g 64位 相关说明: Oracle11g64位软件的安装位置为/u01/app/oracle/product/11.2.0/dbhome_1 ,数据库名为默认的orcl,Linux虚拟机的IP设置为192.168.1.121 一.修改listener.ora文件内容 命令:[[email protected] ~]$ vi /u01/app/oracle/product/11.2.0/

Ambari源码分析之Resource.Type与PropertyProvider对应关系

PropertyProvider是取得监控指标的组件,下面给出Resource.Type与PropertyProvider对应关系: Resource.Type PropertyProvider Cluster GangliaReportPropertyProvider Service NagiosPropertyProvider Host GangliaHostPropertyProvider;NagiosPropertyProvider Component StackDefinedPrope

TOMCAT源码分析(启动框架)

建议: 毕竟TOMCAT的框架还是比较复杂的, 单是从文字上理解, 是不那么容易掌握TOMCAT的框架的. 所以得实践.实践.再实践. 建议下载一份TOMCAT的源码, 调试通过, 然后单步跟踪其启动过程. 如果有不明白的地方, 再来查阅本文, 看是否能得到帮助. 我相信这样效果以及学习速度都会好很多! 1. Tomcat的整体框架结构 Tomcat的基本框架, 分为4个层次. Top Level Elements: Server Service Connector HTTP AJP Conta

wget源码分析(一):wget.h文件分析

写在前面的话:也没有做过源码分析,确实拿到了源码之后以前就只是看看源码里面坐着写的那些很给力的工具类之类的,比如以前看zermoq,czmq,  lighthttpd这些大神级源码,我大都还是停留在看看他们写的工具类,比如:hash, map, list, arraylist等等这些工具集拿来然后用在我自己的工程里面,这么着确实给我的工作带来了很多的方便,但是也是凸显出我对很多的源码其实并未深入其中的. 这次来到上海了,工作不是很忙,所以还是想专心下来,看看所有的源码,提高自己的能力为主要目标,

Tomcat源码分析

前言: 本文是我阅读了TOMCAT源码后的一些心得. 主要是讲解TOMCAT的系统框架, 以及启动流程.若有错漏之处,敬请批评指教! 建议: 毕竟TOMCAT的框架还是比较复杂的, 单是从文字上理解, 是不那么容易掌握TOMCAT的框架的. 所以得实践.实践.再实践. 建议下载一份TOMCAT的源码, 调试通过, 然后单步跟踪其启动过程. 如果有不明白的地方, 再来查阅本文, 看是否能得到帮助. 我相信这样效果以及学习速度都会好很多! 1. Tomcat的整体框架结构 Tomcat的基本框架,

Flume 实战(2)--Flume-ng-sdk源码分析

具体参考: 官方用户手册和开发指南 http://flume.apache.org/FlumeDeveloperGuide.html *) 定位和简单例子 1). Flume-ng-sdk是用于编写往flume agent发送数据的client sdk2). 简单示例 RpcClient client = null; try { client = RpcClientFactory.getDefaultInstance("127.0.0.1", 41414); Event event =

Openstack liberty 创建实例快照源码分析2

这是创建云主机实例快照源码分析系列的最后一篇,在第一篇文章中分析了从镜像启动云主机,创建在线/离线快照的过程:本篇将分析从启动盘启动的云主机创建快照的过程,下面请看正文: 磁盘启动云主机,离线(在线)快照 nova-api处理过程 函数入口和前述一样,还是 nova/api/openstack/compute/servers.py/ServersController._action_create_image,下面一起来看看: def _action_create_image(self, req,

Tomcat7.0源码分析——生命周期管理

前言 从server.xml文件解析出来的各个对象都是容器,比如:Server.Service.Connector等.这些容器都具有新建.初始化完成.启动.停止.失败.销毁等状态.tomcat的实现提供了对这些容器的生命周期管理,本文将通过对Tomcat7.0的源码阅读,深入剖析这一过程. Tomcat生命周期类接口设计 我们先阅读图1,从中了解Tomcat涉及生命周期管理的主要类. 图1 Tomcat生命周期类接口设计 这里对图1中涉及的主要类作个简单介绍: Lifecycle:定义了容器生命