Nacos 版本不一致报错Request nacos server failed解决

目录
  • 正文
  • 原因分析 版本不一致
  • 解决方案
  • 总结

正文

在做微服务开发中,测试环境使用Nacos没有问题,但是生产环境服务启动一直报错:

com.alibaba.nacos.api.exception.NacosException: Request nacos server failed: 
    at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.requestToServer(NamingGrpcClientProxy.java:279) ~[nacos-client-2.0.3.jar:na]
    at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.doSubscribe(NamingGrpcClientProxy.java:227) ~[nacos-client-2.0.3.jar:na]
    at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.subscribe(NamingGrpcClientProxy.java:212) ~[nacos-client-2.0.3.jar:na]
    at com.alibaba.nacos.client.naming.remote.NamingClientProxyDelegate.subscribe(NamingClientProxyDelegate.java:147) ~[nacos-client-2.0.3.jar:na]
    at com.alibaba.nacos.client.naming.NacosNamingService.subscribe(NacosNamingService.java:393) ~[nacos-client-2.0.3.jar:na]

原因分析 版本不一致

代码没有改动,测试环境没问题,但是生产环境有问题呢?首先看一下两者不同的地方,大多数都是环境配置的问题。

查看Nacos服务的版本,查看Nacos控制台首页左上角就能看到版本号:

测试环境版本是2.0.x.RELEASE ,生产环境版本是2.1.x.RELEASE,再看alibaba.cloud中的maven中的依赖:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>2.0.1.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

解决方案

将依赖从2.0.x.RELEASE改成2.1.x.RELEASE

Nacos服务端maven依赖对应的版本号保持一致。Spring Boot依赖的版本号也要保持一致。版本 2.1.x.RELEASE 对应的是Spring Boot 2.1.x版本。版本2.0.x.RELEASE对应的是Spring Boot 2.0.x版本,具体查看官方详解

总结

  • Nacos服务端和Nacos依赖的版本号要一致

Spring BootSpring Cloud Alibaba版本号要保持一致,Spring Cloud也需要对应匹配。

具体查看

https://github.com/alibaba/spring-cloud-alibaba

以上就是Nacos 版本不一致报错Request nacos server failed解决的详细内容,更多关于Nacos 版本不一致报错的资料请关注我们其它相关文章!

(0)

相关推荐

  • SpringCloud将Nacos作为配置中心实现流程详解

    目录 1.引入依赖 2.配置Bootstrap.yml 3.配置application.yml 4.Controller测试接口 在Nacos中添加配置信息 匹配规则-理论 dataId的完整格式 配置新增 Namespace+Group+DatalD讲解 实例-三种方案加载配置 1.dataId方案 2.Group方案 3.Namespace方案 1.引入依赖 <dependencies> <!--nacos-config--> <dependency> <gr

  • SpringCloud Nacos配置中心管理超详细讲解

    目录 一.Nacos配置管理 1.1 统一配置管理 1.1.1在nacos中添加配置文件 1.1.2 从微服务拉取配置 1.2 配置热更新 1.2.1 方式一 1.2.2 方式二 1.3 配置共享 一.Nacos配置管理 Nacos除了可以做注册中心,同样可以做配置管理来用 1.1 统一配置管理 当微服务部署越来越多,达到数十,数百时,逐个修改微服务配置就会很麻烦,且容易出错.我们需要一种统一配置管理方案,可以集中管理所有实例的配置. Nacos一方面更可以将配置集中管理另一方面在配置变更时,及

  • Spring Cloud 整合 nacos实现动态配置中心的详细步骤

    目录 前提条件 整合步骤 1. 添加依赖 2. 新建 nacos 配置 3. bootstrap.properties 配置 4. 配置dataId 4.1 自动配置 dataId 4.2 手动设置 dataId 5.获取数据 总结 源码 参考文献 上一篇文章讲解了Spring Cloud 整合 nacos 实现服务注册与发现,nacos除了有服务注册与发现的功能,还有提供动态配置服务的功能.本文主要讲解Spring Cloud 整合nacos实现动态配置服务.主要参考官方部署手册点我. 前提条

  • Nacos 动态服务发现、配置和服务管理平台初体验

    目录 Nacos简介 Nacos特性 1.服务发现与服务健康检查 2.动态配置服务 3.动态DNS服务 4.服务及其元数据管理 安装与启动 (1). 启动 (2). 访问 Nacos配置中心 Nacos注册中心 使用 Nacos简介 Nacos 英文全称为 Dynamic Naming and Configuration Service,是一个由阿里巴巴团队使用 Java 语言开发的开源项目.官网地址:https://nacos.io Nacos特性 1.服务发现与服务健康检查 Nacos作为注

  • Springcloud中的Nacos Config服务配置流程分析

    目录 简介 nacos config快速开始 依赖引入 配置nacos config 启动测试 配置动态更新配置 简介 前边写过几个微服务,订单微服务,商品微服务,账户微服务,库存微服务,每个微服务都去配置自己的配置文件,每个微服务一个yml配置文件,这样如果微服务足够多,对于配置文件的管理就很麻烦,如果配置文件变动需要更改,则需要我们一个一个的去改.例如开发环境,测试环境,生产环境等等,而且配置文件无法实时更新.我们修改了配置文件之后,必须重新启动微服务才能使配置生效.配置中心就可以解决配置问

  • Nacos Discovery服务治理解决方案

    目录 前言 服务治理 什么是服务治理? 常见的注册中心 Zookeeper Eureka Consul Nacos Nacos 入门 搭建nacos环境 将商品微服务注册到nacos 将订单微服务注册到nacos 总结 前言 上一章中,我们利用用户–订单–商品,实现了三个简单的微服务,实现了微服务之间的调用.但不知道大家有没有发现,我们是通过硬编码的方式,把服务者,消费者的服务Url,写到了代码中,这样做肯定是不行的,存在着许多的问题,比如: 一旦服务提供者地址变化,就需要手工修改代码一旦是多个

  • mysql报错:MySQL server version for the right syntax to use near type=InnoDB的解决方法

    本文实例讲述了mysql报错:MySQL server version for the right syntax to use near type=InnoDB的解决方法.分享给大家供大家参考,具体如下: 一.问题: 工作中使用sql语句建表时,mysql报了如下错误: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right

  • 使用Mysql5.x以上版本出现报错#1929 Incorrect datetime value: '''' for column ''createtime''的快速解决方法

    我的MySQL安装后,保存删除表数据总是出现#1929 Incorrect datetime value: '' for column 'createtime' 的报错提醒,导致不能删除表里数据: 原因分析: 5以上的版本如果时期时间是空值应该要写NULL: 官方解释说:得知新版本mysql对空值插入有"bug", 要在安装mysql的时候去除默认勾选的enable strict SQL mode 那么如果我们安装好了mysql怎么办了,解决办法是更改mysql中的配置 my.ini

  • Mysql5.7及以上版本 ONLY_FULL_GROUP_BY报错的解决方法

    近期在开发过程中,因为项目开发环境连接的mysql数据库是阿里云的数据库,而阿里云的数据库版本是5.6的.而测试环境的mysql是自己安装的5.7.因此在开发过程中有小伙伴不注意写了有关group by的sql语句.在开发环境中运行是正常的,而到了测试环境中就发现了异常. 原因分析:MySQL5.7版本默认设置了 mysql sql_mode = only_full_group_by 属性,导致报错. 其中ONLY_FULL_GROUP_BY就是造成这个错误的罪魁祸首了,对于group by聚合

  • python xmind 包使用详解(其中解决导出的xmind文件 xmind8可以打开 xmind2020及之后版本打开报错问题)

    pip install xmind 使用 場景 xmind8 可以打开 xmind2020 报错 main_fest.xml(xmind8 打开另存后 更改后缀为.zip 里边包含META-INF/manifest.xml) ** 将xmind文件修改后缀为zip ---->解压---->放入main_fest.xml ->压缩为zip ->修改后缀为xmind** import xmind import os import re import shutil import zipf

  • 使用Mysql5.x以上版本出现报错#1929 Incorrect datetime value: '''' for column ''createtime''的快速解决方法

    我的MySQL安装后,保存删除表数据总是出现#1929 Incorrect datetime value: '' for column 'createtime' 的报错提醒,导致不能删除表里数据: 原因分析: 5以上的版本如果时期时间是空值应该要写NULL: 官方解释说:得知新版本mysql对空值插入有"bug", 要在安装mysql的时候去除默认勾选的enable strict SQL mode 那么如果我们安装好了mysql怎么办了,解决办法是更改mysql中的配置 my.ini

  • node版本下报错build: `vue-cli-service build`问题及解决

    目录 node版本下报错build: `vue-cli-service build` node相关报错问题 问题一:node-sass npm ERR! command failed 问题二:npm ERR! gyp info it worked if it ends with ok 问题三:Node Sass version 6.0.1 is incompatible with ^4.0.0. 问题四:卸载node,再安装其他版本 总结 node版本下报错build: `vue-cli-ser

  • 安装python时MySQLdb报错的问题描述及解决方法

    问题描述: windows安装python mysqldb时报错python version 2.7 required,which was not found in the registry 网上很多方案,比如方案一: Python3.x时, from _winreg import *  改为 from winreg import * 去掉下划线 import sys from _winreg import * # tweak as necessary version = sys.version

  • VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决

    问题现象 项目使用vue/cli3脚手架搭建的前端项目,vue版本为2.6.10. browserslist的配置如下: [ "> 1%", "last 2 versions"] 但开发环境的IE11打开显示白屏,F12打开显示: 分析过程 5306行显示 "./node_modules/_debug@4.1.1@debug/src/browser.js"这个路径报错,由于eval()包含的代码中有ES6的语法,IE不支持,查了网上很多资料

  • element ui时间日期选择器el-date-picker报错Prop being mutated:"placement"解决方式

    目录 发现错误 解决 补充:el-date-picker 初始化报错 总结 发现错误 这两天在写新项目的时候,遇到了element ui 时间日期选择器一直报错 [Vue warn]: Avoid mutating a prop directly since the value will beoverwritten whenever the parent component re-renders.Instead, use a data or computed property based on

  • 关于获取DIV内部内容报错的原因分析及解决办法

    1.错误描述 2.错误原因 由于向div中添加元素,利用append(); $("#divStyle").append("<div><label>_data[i].name</label></div>"); append里面是动态数据,当请求数据为空时,获取并判断div中的内容: var divContent = $("#divStyle").html(); if(divContent == nul

随机推荐