前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速学习-Nacos2.0升级文档

快速学习-Nacos2.0升级文档

作者头像
cwl_java
发布2021-12-30 17:34:45
1.3K0
发布2021-12-30 17:34:45
举报
文章被收录于专栏:cwl_Javacwl_Java

一. 新版本介绍

  1. 新版本特性
图片
图片

2.兼容性

图片
图片

2.1 配置中心

图片
图片

2.2 注册中心

图片
图片

2.3 控制台

图片
图片

3.Maven依赖

代码语言:javascript
复制
        com.alibaba.cloud
        spring-cloud-starter-alibaba-nacos-discovery
        2.1.5.RELEASE
        
            
                com.alibaba.nacos
                nacos-client
            
        
    
    
        com.alibaba.cloud
        spring-cloud-starter-alibaba-nacos-config
        2.1.5.RELEASE
        
            
                com.alibaba.nacos
                nacos-client
            
        
    
    
        com.alibaba.nacos
        nacos-client
        2.0.0-BETA

4.配置文件参数

图片
图片
图片
图片

5.FAQ

图片
图片

二. 升级文档

备注: 先执行conf/下的update.sql

1. 停止旧节点

选择集群中一台Nacos1.X节点,使用Nacos目录下nacos/bin/shutdown.sh进行停止。

2. 替换文件

下载并解压缩nacos-server-2.0.0-BETA.tar.gz,将其下的binconftarget目录覆盖原Nacos1.X的安装目录下。

3. 修改配置

自行修改nacos/bin/startup.sh中的JVM参数,conf/cluster.conf中的集群列表以及conf/application.prpperties中数据库或其他相关参数。

4. 启动Nacos2.0

使用nacos目录下nacos/bin/startup.sh启动nacos2.0,其他更多启动指令请查看Nacos部署环境

5. 观察是否启动成功

首先查看nacos目录下logs/start.outlogs/nacos.log观察到nacos启动成功的日志,如Nacos started successfully in cluster mode. use xxx storage说明程序已启动成功。

之后在观察logs/naming-server.log中,可以看到有upgrade check result false以及Check whether close double write等日志信息。

属于正常现象。

6. 升级其他节点

待该节点的服务及实例信息已经同步完毕后(可从控制台进行确认)。重复1~5步骤,将其他的nacos节点也进行升级。

7. 确认升级完成

当集群中最后一个节点也升级到2.0.X版本时,集群会开始进行升级检测。每个节点会对该节点的服务信息和实例信息进行校验,并检测是否还有未完成的双写任务。

当该节点的服务信息和实例信息已经核对成功,并且没有双写任务存在时,该节点会判定自己已经做好升级准备,并修改自己的状态且通知其他Nacos节点。每台节点是否完成升级准备可以从控制台的集群管理中元数据信息中看到"readyToUpgrade": false/true

当集群中所有节点均判定为准备完毕时。Nacos集群中的节点会进行升级切换,自动升级到Nacos2.0的处理逻辑。

可以从logs/naming-server.log日志中观察到upgrade check result trueUpgrade to 2.0.X

8.1 关闭双写

当集群升级完成后,可以先观察一段时间运行情况,当确认无误后,可以关闭双写,从而释放性能,具体的关闭方式是通过API进行:

curl -X PUT 'localhost:8848/nacos/v1/ns/operator/switches?entry=doubleWriteEnabled&value=false'

关闭后可以从logs/naming-server.log日志中观察到Disable Double write, stop and clean v1.x cache and features字样。说明关闭双写。

注意,关闭双写后无法在进行平滑降级,请先确认关闭前集群正确运行。

8.2 降级

集群升级完毕后,依旧会进行双写,当升级后发现Nacos2.0存在问题时,可以快速进行降级,降级流程为重复步骤1~6,只是将版本改为对应的1.X版本。

当第一台降级完成后,集群即可观察到logs/naming-server.log中的upgrade check result false,且控制台集群管理中,所有新版本"readyToUpgrade": false

升级过程中可能遇到的问题

1. 最后一台节点升级完成时,注册的服务出现波动(变成不健康或暂时被摘除)

升级过程中,为了节约性能,双写的内容仅是内容发生变更时的状态,心跳等内容不会被双写,因此切换版本时,可能有部分实例的心跳过久而健康检查又刚好开始执行,从而被标记非健康或摘除。

后续心跳处理将会把数据补充回来,最终会一致。

2. 升级完成后,升级的最后一台服务端报错Server is DOWN

这可能是因为Raft选主失败导致的,解决方法是重启最后一台升级的服务端。或先将最后一台服务端降级,之后再重新进行一次升级即可。

图片
图片

3.数据库连接不上问题

https://blog.csdn.net/wlyang666/article/details/103378101

图片
图片

4.注册到nacos上的k8s-dubbo服务重启时,ip切换成新的,但在客户端拉取到了旧ip下线后剔除不了旧ip服务实例

图片
图片

https://hub.fastgit.org/alibaba/spring-cloud-alibaba/issues/1813

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-04-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一. 新版本介绍
    • 2.兼容性
      • 2.1 配置中心
      • 2.2 注册中心
      • 2.3 控制台
    • 3.Maven依赖
      • 4.配置文件参数
        • 5.FAQ
        • 二. 升级文档
          • 1. 停止旧节点
            • 2. 替换文件
              • 3. 修改配置
                • 4. 启动Nacos2.0
                  • 5. 观察是否启动成功
                    • 6. 升级其他节点
                      • 7. 确认升级完成
                        • 8.1 关闭双写
                          • 8.2 降级
                          • 升级过程中可能遇到的问题
                            • 1. 最后一台节点升级完成时,注册的服务出现波动(变成不健康或暂时被摘除)
                              • 2. 升级完成后,升级的最后一台服务端报错Server is DOWN
                                • 3.数据库连接不上问题
                                  • 4.注册到nacos上的k8s-dubbo服务重启时,ip切换成新的,但在客户端拉取到了旧ip下线后剔除不了旧ip服务实例
                                  相关产品与服务
                                  对象存储
                                  对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                                  领券
                                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档