中国建设银行国际互联网站,海外学校网站建设,vis手册制作详细内容,滁州做网站电话号码一、背景 预发布环境使用的数据库性能比较低#xff0c;根据业务测试的需求#xff0c;需要将数据库更换成 稳定高性能的数据库。更换业务数据库后azkaban定时任务失败
二、数据库服务信息 说明#xff1a;该部分使用代号来代替#xff0c;非真实信息
该数据库存储了azka…一、背景 预发布环境使用的数据库性能比较低根据业务测试的需求需要将数据库更换成 稳定高性能的数据库。更换业务数据库后azkaban定时任务失败
二、数据库服务信息 说明该部分使用代号来代替非真实信息
该数据库存储了azkaban 运行的数据库 : azkaban该数据存储了预发布环境业务测试数据 : test就数据库地址192.168.1.110新数据库地址192.168.1.142
三、azkaban定时任务失败问题分析 1、web查看定时任务失败日志 业务相关的任务都失败自己创建的任务执行成功业务调度工作报错没有获取到资源对象 2、在服务器分析定时任务日志 azkaban web和exec执行都没有发现异常的报错。只有回调失败的关键字眼。无法定位问题所在。 3、深入排查分析 a、检查azkaban 执行器和web 数据库相关配置文件: azkaban.properties ,然而数据库信息都是 正确的。 b、在azkaban 创建简单的 job测试能成功执行。 4、疑点 a、azkaban依赖的azkaban数据库连接信息正常并且通过创建的测试 job 可以推测 azkaban 服务是正常的。 b、突然有个疑问有没有可能迁移数据库业务相关的测试库的接口没更改完全深思和继续排查这个可能已被排除azkaban数据库核对了遍都没有发现可以的地方该更改的地方都改完成了。 c、曾经有过怀疑azkaban容器内存限制以及azkaban配置文件里面对内存的配置azkaban配置里面默认小于6GB 就不会调度到该节点的但这个问题再次确认配置早已解除了azkaban最小6GB内存配置的限制了。该疑问也排除了。 d、有没有可能是业务的问题呢跟azkaban本身没有关系呢azkaban容器是我亲手构建交付给开发人员调整的azkaban本身配置都核对了遍了突然灵机一闪有没有可能是 有相关的配置藏在azkab某个角落呢 毕竟构建azkaban基础镜像时候创建按照开发的要求创建一个跟业务有关并存放有我们自己开发的代码那么有没有可能在这个目录里面隐藏了和业务有关的配置呢
5、经过 重重的疑点思考决定登录azkab容器再好好核对一番。刚好发现业务目录隐藏了连接业务数据库的配置没有更改过来。没想好开发把业务配置直接打包到镜像里面了。 三、问题复盘 1、azkaban基础镜像是我按照开发负责人的需求出方案并且构建的azkaban本身用到的数据库配置和应用配置等都是通过configMap方式挂载的。 2、没想到开发他们把跟业务有关的配置如业务数据库连接信息等配置文件直接打包到镜像里面了。我们环境是基于CICD一键把源码打包成应用基于基础镜像构建迭代的镜像然后发布到k8s环境完成应用迭代部署。 3、开发也没有告知我业务配置打包在镜像面了让我产生了误解一直以为除了azkaban本身的配置没有其他配置了。