amabri服务状态监控和PID目录、文件玩法
2016-09-09 11:16
204 查看
1. ambari服务状态监测
amabri需要检测服务进程状态,基本玩法是服务启动后将进程ID记录在一个特定文件。ambari定时检测文件是否存在,PID对应进程是否存在,检测代码如下:process_id_exists_command = as_sudo(["test", "-f", pid_file]) + " && " + as_sudo(["pgrep", "-F", pid_file])
2. PID文件和目录
2.1 手工启动hadoop
以hadoop的启动为例, 在启动脚本sbin/hadoop-daemon.sh中可以看到这样一段注释# HADOOP_PID_DIR The pid files are stored. /tmp by default.
具体启动脚本省略了,也就是说:
如果配置了HADOOP_PID_DIR, 则PID文件存放在配置的位置;
如果没有配置,则默认存放/tmp目录;
如果不带ambari玩,默认是没有配置这个目录的。
2.2 amabri启动hadoop
ambari启动hadoop的玩法启动配置目录变为/etc/hadoop/conf
hadoop-env.sh:79:export HADOOP_PID_DIR=/var/run/hadoop/$USER
可以看到已经更改了PID放置目录。目录是有ambari创建的。
ambari\ambari-server\src\main\resources\common-services\HDFS\2.1.0.2.0\package\scripts\utils.py中的两段逻辑:
#拼装路径,配置决定 pid_dir = format("{hadoop_pid_dir_prefix}/{user}") #创建目录 Directory(log_dir, owner=user, recursive=True)
2.3 小结
加上开篇的检测代码,逻辑就打通了.总结如下:ambari创建存放PID的文件目录
amabri启动hadoop时,以配置形式告诉hadoop这个目录;
hadoop启动时,创建PID文件,放置在约定目录。
相关文章推荐
- Socket异步服务器,可以监控客户端的状态,功能有,文字测试,服务端向客户端传输屏幕录像(UDP传输)、监控客户端屏幕(UDP传输),抖动用户窗体、发送文件给用户、扫描客户的C盘目录。
- linux使用Inotify监控目录或者文件状态变更
- Windows提供的对文件和目录监控的系统服务API
- linux使用Inotify监控目录或者文件状态变更
- linux使用Inotify监控目录或者文件状态变更
- 使用windows服务和.NET FileSystemWatcher对象来监控磁盘文件目录的改变
- 使用windows服务和.NET FileSystemWatcher对象来监控磁盘文件目录的改变
- 解决windows2003下iis服务运行asp提示“HTTP 错误 404 - 文件或目录未找到”
- java如何监控系统进程和服务的状态
- Postgresql:数据目录、配置文件、pid文件的位置
- System.IO.FileSystemWatcher 监视目录文件的状态
- inotify-tool基于linux文件和目录的监控
- svn status-显示工作副本中目录与文件的状态
- svn status-显示工作副本中目录与文件的状态
- 【Demo 0066】监控被变更文件/目录(完成端口)
- 监控文件目录
- 使用.NET FileSystemWatcher对象监控磁盘文件目录的改变
- 如何监控目录、文件的更改
- 非常好用的网站状态监控服务:SiteUpTime,监控你的Http/Mail/Ping etc.
- linux shell 监控服务状态 自动处理并通知管理员