小白初识 nacos 的几个小问题

nacos使用的几个小问题及其解决方式

  • 版本冲突问题
      • 组件版本关系
      • 毕业版本依赖关系(推荐使用)
      • 解决方式
  • 下载 nacos 遇到找不到JAVA_HOME的问题
      • 一、确定java是否已经下载并配置好环境变量
      • 二、java确实已经配置好环境但没有配置JAVA_HOME
  • 配置服务在nacos注册中心遇到的问题
  • nacos配置中心遇到的问题
    • 配置中心使用了yml格式,后台无法找到此配置
      • 解决方式
    • 多配置无法找到
      • 解决方式
    • 服务的命名空间更改了但是配置的命名空间未更改
      • 解决方式
  • sentinel流量监控问题
    • jar包跑不起来
    • 远程连接服务器上的sentinel,无法监控到本地服务
      • 原因
      • 解决方式
    • 服务已经在nacos中被注册,sentinel中没有显示
    • 能显示服务但是无法显示其监控心跳图
      • 原因
      • 重启 sentinel !!
  • zipkin 链路的追踪问题
    • 控制台报错:找不到localhost:8848
      • 问题
      • 解决方式
      • 原因
  • 总结

版本冲突问题

bean无法注入或无法识别某些属性参数等问题

组件版本关系

小白初识 nacos 的几个小问题_第1张图片

毕业版本依赖关系(推荐使用)

小白初识 nacos 的几个小问题_第2张图片

https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

解决方式

只要使用官方推荐的对应的版本号一般不会产生什么问题,但还是尽可能避免使用最新版本

下载 nacos 遇到找不到JAVA_HOME的问题

一、确定java是否已经下载并配置好环境变量

java -version

# 若发现没有版本号则去下载或配置其环境变量即可

二、java确实已经配置好环境但没有配置JAVA_HOME

echo $JAVA_HOME

# 查看有无配置好$JAVA_HOME

若未输出任何路径或发现路径错误,则找到自己的jdk下载路径

https://blog.csdn.net/qq_36743482/article/details/78134451

linux:进入 etc/profile 添加/更改对应的JAVA_HOME
例:

export JAVA_HOME=/usr/local/apps/jdk1.8.0_141
 
export JRE_HOME=${JAVA_HOME}/jre
 
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
 
export PATH=${JAVA_HOME}/bin:$PATH

window:不做赘述

https://blog.csdn.net/qq_42017152/article/details/90732057

配置服务在nacos注册中心遇到的问题

spring:
  application:
    name: 服务名
  cloud:
    nacos:
      discovery:
        server-addr: nacos所在ip:8848
        # namespace: 命名空间

之前遇到过一个问题:nacos-config 没用到但是还是加入了依赖,导致报错,此时删除此依赖即可,但是忘记为什么了

nacos配置中心遇到的问题

配置中心使用了yml格式,后台无法找到此配置

解决方式

      config:
        server-addr: nacos所在ip:8848
        # 注意:如果配置文件名为:xxx.yml,则此处配置 yml 若为 xxx.yaml 则此处配置为 yaml 否则找不到!!
        file-extension: yaml(或者yml)

在这里插入图片描述

在这里插入图片描述
注意:不写后缀在配置 file-extension: yaml(或者yml) 则直接识别!
在这里插入图片描述

但是!有后缀的会覆盖无后缀的命名!

请尽量命名规范,此处仅演示

nacos 2.0 之后此bug已修复,yml和yaml可以互相识别

多配置无法找到

解决方式

      config:
        server-addr: nacos所在ip:8848
        file-extension: yaml
        # 扩展配置文件
        extension-configs:
          - data-id: jdbc.yml
            # 访问配置文件刷新
            refresh: true
          - data-id: redis.yml
            refresh: true
            group: provider

服务的命名空间更改了但是配置的命名空间未更改

解决方式

 config:
     namespace: 命名空间
     server-addr: nacos所在ip:8848

sentinel流量监控问题

jar包跑不起来

java -Dserver.port=尝试换个端口 -Dcsp.sentinel.dashboard.server=localhost:尝试换个端口 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.2.jar(版本号记得写自己的版本号)

远程连接服务器上的sentinel,无法监控到本地服务

原因

服务器访问不到我们的ip地址,我们可以访问到服务器或虚拟机,因此他无法监控我们的本地服务

解决方式

sentinel运行于本地或者把项目部署在服务器或虚拟机

服务已经在nacos中被注册,sentinel中没有显示

如果注册了 nacos-consumer 服务:

小白初识 nacos 的几个小问题_第3张图片

如果后台没有报错且已经注册进nacos,在保证sentinel成功启动的情况下,有这种问题多半是 Sentinel 控制台 响应太慢了,等一会应该就好了(不行就请重启sentinel)

能显示服务但是无法显示其监控心跳图

如果成功应该显示:
小白初识 nacos 的几个小问题_第4张图片
1.若没有显示,则请先对服务发送请求!!并返回 sentinel 控制台刷新页面

原因

sentinel 采用的是懒加载机制,如果没有请求进来,就不会显示监控内容

2.若等待片刻后并未起作用,请检查一下机器列表

小白初识 nacos 的几个小问题_第5张图片

检查

在这里插入图片描述

一切正常?

3.查看控制台信息是否出现:

在这里插入图片描述

此处若是 /** 则正常可以监控所有 若是 /* 则做配置:

    sentinel:
      filter:
      # 监控所有服务
        url-patterns: /**

还是不行?

4.检查一下 簇点链路是否有自己的 controller 对应的访问路径,比如我这里是 /hi

小白初识 nacos 的几个小问题_第6张图片

一切正常?还是不行???

重启 sentinel !!

小白初识 nacos 的几个小问题_第7张图片

还是不行????

(⊙o⊙)… 别忘了请记得返回第一步:对服务发送请求!!并返回 sentinel 控制台刷新页面

zipkin 链路的追踪问题

控制台报错:找不到localhost:8848

问题

多半是你引入了 nacos-config 的依赖同时引入了 zipkin 的依赖 但却没有使用 bootstrap 配置文件去配置 config 所引发的错误!!

解决方式

若没有使用到 nacos-config 的依赖 请删去!!

若使用到了,请使用 bootstrap.yml 或者 bootstrap.properties 去配置 nacos-config !!

丢个样板:

# 必须使用 bootstrap 配置 nacos-config !! 否则无法生效~
# 执行优先级: bootstrap.properties > bootstrap.yml > application.properties > application.yml
spring:
  application:
    name: 服务名
  cloud:
    nacos:
      config:
        server-addr: nacos所在ip:8848

原因

zipkin 在你导入了 nacos-config 的依赖后 会去找他的 config 配置!但是如果你没有配?

那他会使用 nacos 默认的ip和端口:localhost:8848

但是你的 nacos 根本不在本地跑!! 所有报错:找不到localhost:8848

丢个样板:

spring:
  # 配置zipkin
  zipkin:
    # zipkin服务器的地址
    base-url: http://localhost:9411
    # 不要让nacos把zipkin注册进去
    discovery-client-enabled: false  
    # 数据发送的⽅式:ACTIVEMQ RABBIT KAFKA WEB
    sender:
      type: web
  sleuth:
    sampler:
      # 设置抽样采集率,默认 0.1(即10%),这⾥设置为 100%
      probability: 1.0

总结

最近在学习 nacos
遇到了很多麻烦,但是有些错误在百度上却不太好找到对应错误的解决方法,经过几天下来的学习,也是解决了一些自己产生的很多问题
和一些容易产生的问题,在此提供了一些解决方案,希望我的总结对我们这些小白们都有所帮助吧!!
后续如果遇到了 nacos 的一些问题会继续补充
欢迎纠错

你可能感兴趣的:(nacos,笔记,异常,java)