nacos 遇到的问题

这里写自定义目录标题

项目启动,错误如下

ERROR c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,104] - parse data from Nacos error,dataId:application-dev.yml,data:spring:
xxxx..
org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
	at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:218)
	at org.yaml.snakeyaml.reader.StreamReader.ensureEnoughData(StreamReader.java:176)
	at org.yaml.snakeyaml.reader.StreamReader.ensureEnoughData(StreamReader.java:171)
	at org.yaml.snakeyaml.reader.StreamReader.peek(StreamReader.java:126)
	at org.yaml.snakeyaml.scanner.ScannerImpl.scanToNextToken(ScannerImpl.java:1198)
	at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:308)
	at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:248)
	at org.yaml.snakeyaml.parser.ParserImpl$ParseImplicitDocumentStart.produce(ParserImpl.java:213)
	at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:165)
	at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:155)
	at org.yaml.snakeyaml.composer.Composer.checkNode(Composer.java:93)
	at org.yaml.snakeyaml.constructor.BaseConstructor.checkData(BaseConstructor.java:124)
	at org.yaml.snakeyaml.Yaml$1.hasNext(Yaml.java:507)
	at org.springframework.beans.factory.config.YamlProcessor.process(YamlProcessor.java:198)
	at org.springframework.beans.factory.config.YamlProcessor.process(YamlProcessor.java:166)
	at org.springframework.boot.env.OriginTrackedYamlLoader.load(OriginTrackedYamlLoader.java:84)
	at org.springframework.boot.env.YamlPropertySourceLoader.load(YamlPropertySourceLoader.java:50)
	at com.alibaba.cloud.nacos.parser.NacosDataParserHandler.parseNacosData(NacosDataParserHandler.java:92)
	at com.alibaba.cloud.nacos.client.NacosPropertySourceBuilder.loadNacosData(NacosPropertySourceBuilder.java:97)
	at com.alibaba.cloud.nacos.client.NacosPropertySourceBuilder.build(NacosPropertySourceBuilder.java:73)
	at com.alibaba.cloud.nacos.client.NacosPropertySourceLocator.loadNacosPropertySource(NacosPropertySourceLocator.java:199)
	at com.alibaba.cloud.nacos.client.NacosPropertySourceLocator.loadNacosDataIfPresent(NacosPropertySourceLocator.java:186)
	at com.alibaba.cloud.nacos.client.NacosPropertySourceLocator.loadNacosConfiguration(NacosPropertySourceLocator.java:158)
	at com.alibaba.cloud.nacos.client.NacosPropertySourceLocator.loadSharedConfiguration(NacosPropertySourceLocator.java:116)
	at com.alibaba.cloud.nacos.client.NacosPropertySourceLocator.locate(NacosPropertySourceLocator.java:101)
	at org.springframework.cloud.bootstrap.config.PropertySourceLocator.locateCollection(PropertySourceLocator.java:51)
	at org.springframework.cloud.bootstrap.config.PropertySourceLocator.locateCollection(PropertySourceLocator.java:47)
	at org.springframework.cloud.bootstrap.config.PropertySourceBootstrapConfiguration.initialize(PropertySourceBootstrapConfiguration.java:95)
	at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:634)
	at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:403)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:337)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1332)
	at com.ruoyi.system.RuoYiSystemApplication.main(RuoYiSystemApplication.java:22)
Caused by: java.nio.charset.MalformedInputException: Input length = 1
	at java.base/java.nio.charset.CoderResult.throwException(CoderResult.java:274)
	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:185)
	at org.yaml.snakeyaml.reader.UnicodeReader.read(UnicodeReader.java:125)
	at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:183)
	... 33 common frames omitted

原因分析

sun.nio.cs.StreamDecoder 解码失败导致。
所以根本问题是字符集不一致,或者yml等配置文件格式问题。
本地开发:
开发环境就要确定是配置文件格式问题还是编码问题。
文件格式:需要检查 冒号":"后面是否有空格。或者其他格式问题
编码问题:检查环境的编码,包括nacos环境本地环境(最重要的本地配置yml文件)都设置成utf8
生产部署:
如果是本地都正常,部署不正常,问题肯定出在服务器的编码上。可增加启动参数
-Dfile.encoding=utf-8

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
常见的Nacos开发问题包括以下几个方面: 1. 安装和配置:在安装Nacos时可能会遇到各种问题,例如版本兼容性、环境依赖等。此外,正确配置Nacos的参数也是一个挑战,如数据库连接、集群配置等。 2. 高可用和负载均衡:Nacos作为一个注册中心和配置中心,需要保证高可用和负载均衡。在搭建Nacos集群和配置集群时,可能会遇到一些问题,如节点通信失败、数据不同步等。 3. API使用和功能扩展:使用Nacos提供的API进行服务注册和配置管理是开发者经常遇到的任务。在使用API时,可能会遇到参数传递错误、API调用失败等问题。此外,有时候需要扩展Nacos的功能,可能需要编写插件或者自定义模块,这也会带来一些开发问题。 4. 故障排查和日志分析:当Nacos出现问题时,如服务注册失败、配置无法加载等,需要进行故障排查。在排查过程中,可能需要查看Nacos的日志,并进行分析定位问题所在。 5. 性能优化:随着服务规模和配置数量的增长,Nacos的性能优化也变得重要。例如,如何提高Nacos的读写性能、减少网络开销等方面的问题。 总而言之,Nacos开发常见的问题涉及安装配置、高可用负载均衡、API使用和功能扩展、故障排查和日志分析、性能优化等方面。解决这些问题需要对Nacos的架构和工作原理有一定的了解,并且需要熟悉相关的技术和工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值