• 使用process_monitor.sh监控hadoop进程的crontab配置


    可以从下列链接找到process_monitor.sh:
    https://github.com/eyjian/libmooon/blob/master/shell/process_monitor.sh


    假设:
    1) java安装目录为/data/jdk
    2) 监控脚本process_monitor监控脚本process_monitor.sh安装目录为/usr/local/bin
    3) hadoop安装目录为/data/hadoop
    4) hbase安装目录为/data/hbase
    5) zookeeper安装目录为/data/zookeeper


    可以通过jps查看到进程ID,然后使用kill命令杀死进程,查看监控重拉起效果。
    process_monitor.sh每隔2秒(由变量monitor_interval指定)检查一次,发现进程不存在时,立即启动。
    假设运行用户为root,则process_monitor.sh的日志文件为/tmp/process_monitor-root.log,
    假设运行用户为test,则process_monitor.sh的日志文件为/tmp/process_monitor-test.log,以此类推。
    可以通过tail -f观察process_monitor.sh的日志,来了解process_monitor.sh的运行。


    process_monitor.sh带两个参数,第一个参数是被监控的进程对象,process_monitor.sh依靠第二个参数重启被监控对象。
    第一个参数又分两部分,第一个空格前的部分,和空格之后的部分。
    第一部分为被监控对象的进程名称,对于java程序,进程名是java,而不是jar包的名称。
    第二部分为参数部分,可有可无,但正是通过它来区分不同的被监控对象,对于java、shell程序等是必须的。
    另外,process_monitor.sh对参数部分是采取模糊部分匹配方式。
    可以通过ps aux命令来确定进程名称和参数。

    crontab配置如下:
    # 监控HDFS NameNode
    * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_namenode" "/data/hadoop/sbin/hadoop-daemon.sh start namenode"
    # 监控HDFS切换主备NameNode程序
    * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_zkfc" "/data/hadoop/sbin/hadoop-daemon.sh start zkfc"
    # 监控HDFS JournalNode
    * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_journalnode" "/data/hadoop/sbin/hadoop-daemon.sh start journalnode"
    # 监控HDFS DataNode
    * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_datanode" "/data/hadoop/sbin/hadoop-daemon.sh start datanode"
    # 监控HBase Master
    * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_master" "/data/hbase/bin/hbase-daemon.sh start master"
    # 监控HBase thrift2
    * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_thrift2" "/data/hbase/bin/hbase-daemon.sh start thrift2 --framed -nonblocking"
    # 监控ZooKeeper
    * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dzookeeper" "/data/zookeeper/bin/zkServer.sh start"
    # 监控HBase regionserver
    * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_regionserver" "/data/hbase/bin/hbase-daemon.sh start regionserver"
    # 监控YARN ResourceManager
    * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_resourcemanager" "/data/hadoop/sbin/yarn-daemon.sh start resourcemanager"
    # 监控YARN NodeManager
    * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_nodemanager" "/data/hadoop/sbin/yarn-daemon.sh start nodemanager"
    # 监控HiveServer
    * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java HiveServer2" "/data/gongyi/hive/bin/hiveserver2 &"
    # 监控Hive MetaStore
    * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java HiveMetaStore" "/data/gongyi/hive/bin/hive --service metastore &"

  • 相关阅读:
    volatile用法
    static用法
    sizeof用法
    C语言void关键字的深刻含义
    extern用法
    const用法
    attribute用法
    Task的运行过程分析
    Android BroadcastReceiver实例Demo(有序广播的发送)
    旅行-许巍
  • 原文地址:https://www.cnblogs.com/aquester/p/9891547.html
Copyright © 2020-2023  润新知