starrocks集群fe/be节点进程守护脚本

自建starrocks集群,有时候服务会挂掉,无法自动拉起服务,于是采用supervisor进行进程守护。可能是版本的原因,supervisor程序总是异常,无法对fe//be进行守护。于是写了个简易脚本。

bash 复制代码
#!/bin/bash
AppNameFe=com.starrocks.StarRocksFE
AppPortFe=9030
AppNameBe=starrocks_be
AppPortBe=9050
Dtime="$(date +%Y%m%d%H%M%S)"

while true
do
    #这里查询指定的app是否运行,查询的时候去除包含grep的结果,如果没有改进程,返回空字符串
    appFind=`ps -ef | grep ${AppNameFe} | grep -v grep`
    appRunid=`ss -tlnp|grep ${AppPortFe}|awk -F',' '{print $2}'|awk -F'=' '{print $2}'`
    findNum=${#appFind}
    findPort=${#appRunid}
    if [ ${findNum} -lt 1 ] | [ ${findPort} -lt 1 ];then
    #相对路径,执行与shell脚本同目录下的程序
       echo "$Dtime fe进程异常,${AppPortFe} 端口不存在,现拉起服务..." >> /tmp/programfude.log
       /opt/StarRocks/fe/bin/stop_fe.sh
       sleep 3s
       /opt/StarRocks/fe/bin/start_fe.sh --daemon 
    fi
    #这里查询指定的app是否运行,查询的时候去除包含grep的结果,如果没有改进程,返回空字符串
    appFind=`ps -ef | grep ${AppNameBe} | grep -v grep`
    appRunid=`ss -tlnp|grep ${AppPortBe}|awk -F',' '{print $2}'|awk -F'=' '{print $2}'`
    findNum=${#appFind}
    findPort=${#appRunid}
    if [ ${findNum} -lt 1 ] | [ ${findPort} -lt 1 ];then
    #相对路径,执行与shell脚本同目录下的程序
       echo "$Dtime be进程异常,${AppPortBe}端口不存在,现拉起服务..." >> /tmp/fudeservice.log
       /opt/StarRocks/be/bin/stop_be.sh
       sleep 3s
       /opt/StarRocks/be/bin/start_be.sh --daemon 
    fi 
    #每30秒查询一次,所以sleep60,根据所需调整,单位为秒
    sleep 30
done
bash 复制代码
chmod +x processdaemon.sh
nohup ./processdaemon.sh &
相关推荐
冰橙子id4 小时前
linux-远程访问管理(sshd,scp,sftp)
linux·网络·ssh
光电的一只菜鸡5 小时前
ubuntu之坑(十五)——设备树
linux·数据库·ubuntu
saynaihe7 小时前
ubuntu 22.04 anaconda comfyui安装
linux·运维·服务器·ubuntu
企鹅与蟒蛇7 小时前
Ubuntu-25.04 Wayland桌面环境安装Anaconda3之后无法启动anaconda-navigator问题解决
linux·运维·python·ubuntu·anaconda
程序设计实验室7 小时前
小心误关了NAS服务器!修改Linux的电源键功能
linux·nas
渡我白衣10 小时前
Linux操作系统之信号:信号的产生
linux
阿巴~阿巴~11 小时前
理解Linux文件系统:从物理存储到统一接口
linux·运维·服务器
tan77º11 小时前
【Linux网络编程】应用层自定义协议与序列化
linux·运维·服务器·网络·c++·tcp/ip
菜鸡000113 小时前
存在两个cuda环境,在conda中切换到另一个
linux·人工智能·conda
吃着火锅x唱着歌14 小时前
LeetCode 424.替换后的最长重复字符
linux·算法·leetcode