Nacos 开源至今已有一年,在这一年里,得到了很多用户的支持和反馈。在与社区的交流中,我们发现有一些问题出现的频率比较高,为了能够让用户更快的解决问题,我们总结了这篇常见问题及解决方法,这篇文章后续也会合并到 Nacos 官网的 FAQ 里。

如何依赖最新的 Nacos 客户端?

很多用户都是通过 Spring Cloud Alibaba 或者 Dubbo 依赖的 Nacos 客户端,那么 Spring Cloud Alibaba 和 Dubbo 中依赖的 Nacos 客户端版本,往往会落后于 Nacos 最新发布的版本。在一些情况下,用户需要强制将 Nacos 客户端升级到最新,此时却往往不知道该升级哪个依赖,这里将 Spring Cloud Alibaba 和 Dubbo 的依赖升级说明如下:

Spring Cloud Alibaba

用户通常是配置以下Maven依赖来使用的 Nacos:

<!--Nacos Discovery-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>[latest version]</version></dependency><!--Nacos Config-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>[latest version]</version></dependency>

这两个 JAR 包实际上又依赖了以下的 JAR 包:

<dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>[a particular version]</version>
</dependency>

如果 nacos-client 升级了,对应的 spring-cloud 客户端版本不一定也同步升级,这个时候可以采用如下的方式强制升级 nacos-client(以 nacos-discovery 为例):

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>[latest version]</version><excludes><exclude><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId></exclude></excludes></dependency><dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>[latest version]</version>
</dependency>

Dubbo

Dubbo 也是类似的道理,用户通常引入的是以下的依赖:

<dependency><groupId>com.alibaba</groupId><artifactId>dubbo-registry-nacos</artifactId><version>[latest version]</version>
</dependency><!-- Dubbo dependency -->
<dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><version>[latest version]</version>
</dependency>

需要升级 Nacos 客户端时,只需要如下修改依赖:

<dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>[latest version]</version>
</dependency>

客户端 CPU 高,或者内存耗尽的问题

问题的现象是依赖 Nacos 客户端的应用,在运行一段时间后出现 CPU 占用率高,内存占用高甚至内存溢出的现象,可以参考 Issue

这种情况首先要做的是分析 CPU 高或者内存占用高的原因,常用的命令有 top、jstack、jmap、jhat 等。其中一种情况是 Nacos 客户端实例在 Spring Cloud Alibaba 服务框架中被反复构造了多次,可以参考 Issue

这个问题已经得到了修复,预期会在下个 Spring Cloud Alibaba 版本中发布。

日志打印频繁的问题

在老的 Nacos 版本中,往往会有大量的无效日志打印,这些日志的打印会迅速占用完用户的磁盘空间,同时也让有效日志难以查找。目前社区反馈的日志频繁打印主要有以下几种情况:
1、access 日志大量打印,相关 Issue 点击这里。

主要表现是 {nacos.home}/logs/access_log.2019-xx-xx.log 类似格式文件名的日志大量打印,而且还不能自动清理和滚动。这个日志是 Spring Boot 提供的 Tomcat 访问日志打印,Spring Boot 在关于该日志的选项中,没有最大保留天数或者日志大小控制的选项。因此这个日志的清理必须由应用新建 Crontab 任务来完成,或者通过以下命令关闭日志的输出(在生产环境我们还是建议开启该日志,以便能够有第一现场的访问记录):

server.tomcat.accesslog.enabled=false

2、服务端业务日志大量打印且无法动态调整日志级别。这个问题在 1.1.3 已经得到优化,可以通过 API 的方式来进行日志级别的调整,调整日志级别的方式如下:

# 调整naming模块的naming-raft.log的级别为error:
curl -X PUT '$nacos_server:8848/nacos/v1/ns/operator/log?logName=naming-raft&logLevel=error'
# 调整config模块的config-dump.log的级别为warn:
curl -X PUT '$nacos_server:8848/nacos/v1/cs/ops/log?logName=config-dump&logLevel=warn'

3、客户端日志大量打印,主要有心跳日志、轮询日志等。这个问题已经在 1.1.3 解决,请升级到 1.1.3 版本。

集群管理页面,Raft Term 显示不一致问题

在 Nacos 1.0.1 版本中,Nacos 控制台支持了显示当前的集群各个机器的状态信息。这个功能受到比较多用户的关注,其中一个被反馈的问题是列表中每个节点的集群任期不一样。如下图所示,图片信息来自 Issue

对于这个任期不一致的问题,原因主要是因为获取这个信息的逻辑有一些问题,没有从对应的节点上获取集群任期。这个问题会在下一个 Nacos 版本中修复。目前一个手动检查集群任期的办法是在每个节点上执行以下命令:

curl '127.0.0.1:8848/nacos/v1/ns/raft/state'

然后在返回信息中查找本节点的集群任期。因为每个节点返回的集群任期中,只有当前节点的信息是准确的,返回的其他节点的信息都是不准确的。

本文作者:朱鹏飞,Github ID @nkorange,Nacos 开源负责人,阿里巴巴云原生应用平台技术专家。

原文链接

更多云计算干货敬请关注阿里云官网知乎机构号:阿里云官网 - 知乎

nacos 集群_Nacos 常见问题及解决方法相关推荐

  1. mysql集群重启offline_mysql集群搭建问题及解决方法集锦

    在上一篇博客中写了如何搭建mysql集群,之所以遇到这些问题,是因为刚开始弄mysql集群的时候不熟悉,正是因为这些问题,让我对mysql集群的了解渐渐深入,下面介绍在搭建mysql集群的时候我遇到了 ...

  2. php-fpm定义成集群资源时报错解决方法

    这是我在实验中碰到的问题,我们在定义php-fpm为资源的时候,用php程序包自带的脚本会报错. 笔者花了很多时间尝试了各种办法,最后找到了一位网友写的脚本,可以解决. 脚本如下: #!/bin/sh ...

  3. Nacos 常见问题及解决方法

    Nacos 开源至今已有一年,在这一年里,得到了很多用户的支持和反馈.在与社区的交流中,我们发现有一些问题出现的频率比较高,为了能够让用户更快的解决问题,我们总结了这篇常见问题及解决方法,这篇文章后续 ...

  4. 群晖网络不通_群晖系统安装zerotier one进行内网穿透过程中常见问题及解决方法...

    群晖系统安装zerotier one进行内网穿透过程中常见问题及解决方法 2020-07-28 17:27:39 21点赞 330收藏 31评论 zerotier one是一款很好用的P2P内网穿透软 ...

  5. Nacos 集群部署模式最佳实践

    作者 | kiritomoe 来源 | https://mp.weixin.qq.com/s/sSTY5BivxrH4wR2-dNMkzw 1 前言 Nacos 支持两种部署模式:单机模式和集群模式. ...

  6. day02 Nacos集群配置、Feign远程调用和统一网关Gateway

    1.Nacos配置管理 Nacos除了可以做注册中心,同样可以做配置管理来使用. 统一配置管理 当微服务部署的实例越来越多,达到数十.数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错.我们需要一 ...

  7. Nacos集群部署-详细篇

    目录 一.官网说明: 二.单机模式: Windows单机模式: Linux/Unix/Mac单机模式: 单机模式支持mysql: 三.集群部署: 1. 预备环境准备: 2.下载源码或者安装包: 3. ...

  8. Nacos源码系列——第三章(全网最经典的Nacos集群源码主线剖析)

    上两个章节讲述了Nacos在单机模式下的服务注册,发现等源码剖析过程,实战当中 其实单机是远远不够的,那么Nacos是如何在集群模式下是如何保证节点状态同步,以及服 务变动,新增数据同步的过程的!   ...

  9. nacos集群之日志狂刷fail to connect server,after trying 567 times,last try server is...

    最近遇到个问题: 三台服务器搭建的nacos集群,在后台管理页面显示3个节点都是正常状态,服务也都能注册和发现,但是每台服务器中的nacos.log一直狂刷fail to connect server ...

最新文章

  1. 河海大学839计算机技术基础,2017年河海大学计算机与信息学院839通信原理考研强化模拟题...
  2. 《C++入门经典(第5版•修订版)》——2.6 问与答
  3. 如何进行5万并发用户负载测试?
  4. C/C++:Windows编程—Hook IE浏览器实现URL拦截及更改(下)
  5. 如何站在双11的肩膀上 详解阿里云企业级互联网架构
  6. Graph Algorithm
  7. 数据结构-----栈+中缀表达式(计算器)
  8. 百度干净云(无广告不限速的绿色百度云客户端)
  9. 自媒体怎么做?5个操作步骤,普通人也可以做
  10. PHP用GD库实现简单的验证码
  11. mysql audit log_关于MySQL AUDIT(审计)那点事
  12. UltraVNC 使用,内网局域网远程控制
  13. 如何把EXCEL文本格式里的数字批量转成文本
  14. 早上在玩支付宝的答答星球,认真点就有点赌徒心理了
  15. JWS 批注参考WebService注解
  16. MATLAB FFT算法的应用
  17. P228 10.2.2 希尔排序 完整源文件
  18. FPGA图像处理——cameralink发送设计实现之改进版
  19. MessageQueue原理分析(1)
  20. 软考视频总结——环环相扣

热门文章

  1. windows守护进程脚本
  2. [Wordpress]wp_dropdown_categories() 添加自定义的attribute(属性)
  3. 将表数据生成Insert脚本
  4. s2sh乱码一个小处理(新手按流程走)
  5. Android核心分析之二十三Andoird GDI之基本原理及其总体框架
  6. 25个自适应菜单教程和脚本
  7. SQL存储过程解密研究
  8. 利用OpenCV实现人眼的检测与跟踪
  9. 图像形态学概要-腐蚀、膨胀、开运算、闭运算、形态学梯度(形态学边缘提取)、顶帽操作、黑帽操作
  10. 计算机没考好检讨,考试没考好检讨书范文(精选6篇)