nacos一直频繁的打印日志get changegroupkeys问题
为何nacos一直频繁的打印日志get changegroupkeys
正常情况下应该是30秒打印一次日志的,但是,重启了一下微服务之后,这个日志竟然疯狂输出。
解决方案如下:
# 1、根据心跳日志,定位日志输出的包名 c.a.n.client.config.impl.ClientWorker : get changedGroupKeys:[] # 2、在 IDEA 中搜索 ClientWorker 所在的包路径 package com.alibaba.nacos.client.config.impl; # 3、在任意格式的配置文件中将该包路径的日志设置为 ERROR 或者 WARN 级别即可 # Nacos 注册中心客户端心跳日志禁用 get changedGroupKeys:[] 刷屏 logging: level: com.alibaba.nacos.client.config.impl: WARN # 4、如果是 Spring Cloud Gateway 则需要配置为 logging: level: com.alibaba.nacos.client.*: WARN
看你配置文件格式了,yml或者properties,就改成对应的形式就好了。
升级nacos版本不一定能解决问题,我这使用的是1.3.1的版本。
生产环境,5个实例组成nacos集群,五个相同的微服务组成集群访问nacos,弄了不少的namespace,nacos的数据存在mysql数据库中。
nacos客户端启动频繁输出get changedGroupKeys:[] 日志
现象
分析
// 线程运行方法 public void run() { List<CacheData> cacheDatas = new ArrayList(); ArrayList inInitializingCacheList = new ArrayList(); try { Iterator var3 = ((Map)ClientWorker.this.cacheMap.get()).values().iterator(); while(var3.hasNext()) { CacheData cacheData = (CacheData)var3.next(); if (cacheData.getTaskId() == this.taskId) { cacheDatas.add(cacheData); try { ClientWorker.this.checkLocalConfig(cacheData); if (cacheData.isUseLocalConfigInfo()) { cacheData.checkListenerMd5(); } } catch (Exception var13) { ClientWorker.LOGGER.error("get local config info error", var13); } } } // 检查修改的数据 List<String> changedGroupKeys = ClientWorker.this.checkUpdateDataIds(cacheDatas, inInitializingCacheList); // 日志打印 ClientWorker.LOGGER.info("get changedGroupKeys:" + changedGroupKeys); Iterator var16 = changedGroupKeys.iterator(); while(var16.hasNext()) { // ... } // ... }
根据控制台打印频率规律,每30s左右都会打印这句日志;看下ClientWorker类,可以看出这是一种心跳检测,会定时去检测服务器的配置数据有没有变化。
解决
在任意格式的配置文件中将该包路径的日志设置为ERROR 或者 WARN 级别即可。
# Nacos 注册中心客户端心跳日志禁用get changedGroupKeys:[] 刷屏 logging: level: com.alibaba.nacos.client.config.impl: WARN
如果是 Spring Cloud Gateway 则需要配置为
logging: level: com.alibaba.nacos.client.*: WARN
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
struts1之ActionServlet详解_动力节点Java学院整理
这篇文章主要介绍了struts1之ActionServlet详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-09-09jfinal中stateless模式嵌入shiro验证的实现方式
这篇文章主要介绍了jfinal中stateless模式嵌入shiro验证,今天,我们就来尝试一种通过拦截器来实现的Stateless Jfinal嵌入方式,需要的朋友可以参考下2022-06-06Spring Security OAuth2认证授权示例详解
这篇文章主要介绍了Spring Security OAuth2认证授权示例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-09-09SpringBoot通过自定义注解实现配置类的自动注入的实现
本文主要介绍了SpringBoot通过自定义注解实现配置类的自动注入的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-04-04
最新评论