紧急预案:

当服务大面积的崩溃时此时可以参考此紧急预案:

1.上到服务器中查看服务是否大面积的重启,并且伴随着僵尸容器可能会出现unhealthy的服务

dpa    用于查看服务镜像是否正常,如果是正常的服务状态会有healthy异常的会是unhealthyexited代表是死掉的容器(挂掉的,该容器可以不用管一般来说会进行重启)
dpa |grep 服务名      例如 dpa |grep web:lts   这个就是查看单个web容器的命令

有数紧急预案 - 图1

a.如果出现了unhealthy的服务那么需要删除堆栈重拉,步骤如下:

a.1查看镜像的标签以及正在运行的具体服务实例数
dv ls      切换到主节点中。查看正在运行的实例数以及镜像的标签,如图最左边的youdata_da,前面的youdata代表的是标签,此标签多用于单机部署的环境,如果是多机的话是ydswarm的标签,da代表的是镜像的服务名称。右边的1/1中的右边代表应该起来的实例数,左边是现在起来的实例数。如果说有数服务无法访问那么就主要查看nginxweb服务的实例数

有数紧急预案 - 图2

a.2 删除youdata标签的堆栈容器镜像
docker stack rm youdata   这个命令代表的是删除youdata标签的堆栈服务,不会删除掉log镜像以及监控的服务,记住bi的服务镜像标签目前只有youdataydswarm两种
a.3重新拉起堆栈服务
 cd /youdata/installer/      一般情况下youdatayaml配置文件在这里需要根据具体的yaml文件进行dsd切记一定要是具体的,符合当前版本的配置文件,一般来说找版本最高的yaml文件。如果说多机分布的话配置文件会是docker-stack.ydswarmxx.yaml 的形式,单机的话是docker-stack.youdata.yaml 根据标签来

有数紧急预案 - 图3

 dsd <配置文件> <标签名称> 此处用的是913版本

有数紧急预案 - 图4

a.4 试用dpa或者是dv ls继续查看服务实例是否启动。
如果最后还是无法启动联系运维或者重启服务器,重启服务器之后bi服务会自动重启