是否可以使用monit工具监控hadoop,hbase和yarn?

jpfvwuh4  于 2022-11-01  发布在  Hadoop
关注(0)|答案(1)|浏览(158)

我想监控一些服务,这些服务在出现故障时需要重新启动,我发现了一个非常棒的工具monit。它对Zookeeper工作正常,因为我遇到了类似matching "QuorumPeerMain"的情况,如monitrc文件中所示

check process Zookeeper matching "QuorumPeerMain"
        start program = "path/to/zkServer.sh start"
        stop program  = "path/to/zkServer.sh stop"

以同样的方式,我想监视以下内容:Hadoop、Yarn和hbase

check process Hadoop matching "?"
        start program = "startorstop.sh start"  #equivalent to start-dfs.sh
        stop program  = "startorstop.sh stop"   #equivalent to stop-dfs.sh
    • 处应写什么?**

这些问题

  • 在hadoop的情况下,可能会出现NameNodeDataNodeSecondaryNameNode故障。Monit Doc指出 “选择运行时间最长的最匹配父节点”。例如,如果DataNode出现故障,它仍然考虑NameNode,不会尝试重新启动hadoop。另一个选项是使用pid文件,但我无法在/var/run/中找到Hadoop的pid文件
  • 我想要一种自顶向下的方法(不完全是)。
dy2hfwbg

dy2hfwbg1#

我有一种方法可以使用shell脚本独立启动NameNodeDataNodeSecondaryNameNode,即hadoop-daemon.sh。因此,在我的monit conf中,NameNode看起来像
感谢@OneCricketeer的评论,这样我就可以找到一种方法来独立启动这些过程

check process NameNode matching "NameNode"
    start program = "startorstop.sh start"  #hadoop-daemon.sh start namenode
    stop program  = "startorstop.sh stop"   #hadoop-daemon.sh stop namenode
    group hadoop

对于我的问题的另一部分,我得到了depends选项。更多细节请看这里的服务依赖关系。在我的例子中,我希望在DataNode停止运行时重新启动HRegionServer。下面是conf的工作原理

check process HRegionServer matching "HRegionServer"
    start program = "startorstop.sh start"  #hbase-daemon.sh start regionserver
    stop program =  "startorstop.sh stop"   #hbase-daemon.sh stop regionserver
    depends on DataNode

check process DataNode matching "DataNode"
    start program = "startorstop.sh start"  #hbase-daemon.sh start datanode
    stop program =  "startorstop.sh stop"   #hbase-daemon.sh stop datanode

相关问题