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文件存放在配置的位置;
- 如果没