【经验总结】部署多个相同实例启动故障

部署多个相同实例启动故障

By Leo

 

    上周日在某业务模块xxx后端上面综合部署了另一业务模块后端xxx2xxx2是我手动部署的,当时也没有问题,新部署的业务也正常。但昨日xxx业务模块迁移发布重启时,xxx怎么也起不来,一直不停重启,后来停掉xxx2xxx就可以起来。今天查找问题的原因时发现,xxx2/bin下面的 dog.shallkill.sh 没有修改路径和端口,但修改了之后xxx还是起不来。

 

    先看下xxx/bin下面脚本的关系

    一、监控脚本dog.sh判断进程不存在,调用xxx_restart.sh脚本重启进程;

    二、xxx_restart.sh先执行allkill.sh 脚本killxxx,然后执行xxx_start.sh脚本启动tac

    三、xxx_start.sh脚本调用start.sh启动xxx

 

    Start.sh脚本也要判断tac是否存在,如下代码

        XXX_HOME="/usr/local/app/xxx"

        CNT=`ps axw | grep "$XXX_HOME" |grep "$main_class" | grep -v grep | wc -l`

 

    执行重启命令看到提示如下:

        $./kill.sh;xxx_start.sh;

        $/usr/local/app/xxx/   not running

        $/usr/local/app/xxx    already started ….    

 

    从这里足以看出原因,start.sh 判断xxx2存在,包含了xxx,脚本就认为xxx正常,后面就不执行启动操作了。当然当killxxx2之后,xxx就可以起来,之后xxx2启动也没有问题。

 

    修改start.sh脚本如下,恢复正常。

        XXX_HOME="/usr/local/app/xxx/

 

    

总结下:

    一、自动化部署,避免手工部署

    二、同一机器部署多个同类型业务模块时,比如多个resinbin下的脚本要详细检查

    三、“/”,引以为鉴

 

本文原创自无线技术运营空间: http://wireless.qzone.qq.com 及 http://blog.youkuaiyun.com/wireless_tech (专注无线技术运营——无线技术(操作系统/数据库/WEB前端/负载均衡/系统容灾/系统安全/短信接入/WAP接入/3G等)、无线业务运营、无线开放平台、统计分析(用户行为分析/数据挖掘)、CP合作,联系我们:1780551083@qq.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值