预发部署时机器总是重启两次的“简单”排查
💡
原文中文,约5300字,阅读约需13分钟。
📝
内容提要
文章讲述了预发环境部署时,搜索业务的核心应用 magellan 总是重启两次的问题,是因为 euler 运维插件挂载了 remote-debug-agent 这个 Java Agent。通过开发另一款插件解决了问题,设计上需要防范运维容器操作主容器的进程。排查过程中的体会是“不要放过任何一个可疑的地方”。
🎯
关键要点
- 搜索业务核心应用magellan在预发环境部署时总是重启两次,导致环境不稳定。
- 初步排查发现应用第一次启动成功,但第二次重启没有新的部署记录。
- 手动重启应用时没有出现重启问题,推测可能与Aone调度有关。
- 排查过程中发现应用启动日志中没有明显错误,但部署日志有警告信息。
- 修复了JDK版本判断错误的逻辑,部署后应用正常启动,没有再次重启。
- 进一步排查发现重启问题与运行时有关,而非启动时。
- 对比线上和预发机器,发现预发环境挂载了remote-debug-agent这个Java Agent。
- 确认euler运维插件的逻辑导致了应用的二次重启。
- 开发了另一款插件以避免二次重启,提升了开发体验。
- 在设计上需防范运维容器操作主容器的进程,提出了改进建议。
- 排查过程中的体会是“不要放过任何一个可疑的地方”。
🏷️
标签
➡️