NACOS 2.2.2版本,集群下的某个节点内存100%了,导致整个集群内的所有服务都下线。
既然是集群,不应该是某个节点当机了,由其他另外的节点来接管吗?为啥会导致我的所有服务都下线了,只有手动的关闭那台内存100%的节点后;服务才慢慢的恢复回来
你遇到的这个问题是Nacos 2.2.2版本的一个已知问题。
导致这个问题的原因是:
Nacos 2.2.2版本中,集群节点之间存在强依赖关系
当一个节点内存占用100%,失去响应时,其他节点会进入等待状态,无法提供服务
只有失去响应的节点停止服务或重启后,其他节点才会恢复工作
这并不是集群该有的正常状况,而是Nacos 2.2.2版本的一个bug。
你遇到这个问题的解决方案是:
直接重启那个内存占用100%的Nacos节点
等待Nacos集群中的其他节点检测到该节点下线,随后通过选主算法选出一个新的领导节点
新的领导节点接管服务,其他节点恢复工作,你的服务才能恢复。
为了永久消除这个问题,最好的方式是:
升级到Nacos的最新版本,当前是2.2.4
修复导致内存占用100%的root cause。例如配置调整、JVM参数优化等
监控Nacos集群的内存和CPU占用,及早发现异常和加困问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。