Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nacos cluster is running with 1.X mode, can't accept gRPC request temporarily. Please check the server status or close Double write to force open 2.0 mode. Detail https://nacos.io/en-us/docs/2.0.0-upgrading.html. at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.requestToServer(NamingGrpcClientProxy.java:271) #7529

Closed
GitTigers opened this issue Dec 30, 2021 · 16 comments
Labels
kind/discussion Category issues related to discussion

Comments

@GitTigers
Copy link

#6791 (comment)

Nacos cluster is running with 1.X mode, can't accept gRPC request temporarily. Please check the server status or close Double write to force open 2.0 mode. Detail https://nacos.io/en-us/docs/2.0.0-upgrading.html. at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.requestToServer(NamingGrpcClientProxy.java:271)

可以看到他使用的是2.0.3的版本,请问本来就是2.X的版本还需要升级吗
我也遇到了相同的问题,如果需要某个开关才能open 2.0 mode,请给一个具体的链接。在官方的文档并不能找到具体的操作步骤。
谢谢。

@vividfish
Copy link
Contributor

检查下你的/home/{userName}/nacos是不是有1.x的数据。如果有nacos会对这些数据升级

@GitTigers
Copy link
Author

你好 我之前没有安装部署过nacos 我直接使用的nacos的2.0.3的镜像进行了部署 所以道理上不可能存在1.X的数据 但是为了排除您的疑虑 我还是重新开了一个新的数据库 里面没有数据 直接使用nacos包中的sql文件新建数据库 但是还是出现了那个错误。

@MajorHe1
Copy link
Collaborator

这个升级不是说升级nacos的版本,而是 nacos 2.0.x为了兼容 nacos 1.x 和 nacos 2.x,首先会以1.x的模式启动,然后向其他节点检查是否都升级至2.x模式完毕了,如果都升级完毕了,再切换成 2.x的模式,在这之后才可以接受GRPC请求 。
出现这个问题,说明要么集群构建的方式有问题,要么集群网络通信有问题。建议:
1、删除 {nacos.home}/data 目录然后重启,或者重新部署镜像,跟数据库里面有没有数据没有关系
2、如果上面不能解决问题,集群每个节点都调用该方法,强制开始2.x模式
image

@GitTigers
Copy link
Author

你好 我查看了那个日志文件 似乎找到了问题的关键 升级步骤已经启动 但是没有升级成功 请看下面日志
image

@MajorHe1
Copy link
Collaborator

日志是这里抛出来的,看样子还是网络通信失败
企业微信截图_16409330773922
复杂的办法:逐个节点手动调这个接口看看有没有问题,如果没有问题,再排查K8S网络层面的原因,因为你用的域名而不是ip
简单的办法:逐个节点关闭双写,强行开启2.x模式。

@KomachiSion KomachiSion added the kind/discussion Category issues related to discussion label Jan 19, 2022
@dockeryun
Copy link

我觉得这种机制害死人,是否有方法改进。

@PFyyh
Copy link

PFyyh commented Feb 16, 2022

我也遇到过这个问题,大概率集群配置问题,检查一下cluster.conf文件,并检查集群设置上线情况。我设置localhost不同端口,导致部分节点无法上线,注册服务失败。

@dockeryun
Copy link

dockeryun commented Feb 16, 2022 via email

@limeng3150
Copy link

limeng3150 commented Mar 26, 2022

我也遇到了Nacos cluster is running with 1.X mode, can't accept gRPC request temporarily. Please check the server status or close Double write to force open 2.0 mode. Detail https://nacos.io/en-us/docs/2.0.0-upgrading.html.

当我发现启动服务控制台报错后,打开Nacos的控制面板会多加入一个Nginx 配置的节点信息
image
只有在不断重启服务后,看到Nacos控制台显示配置集群的三个节点就正常,服务就能正常启动

@yanlinly
Copy link
Collaborator

检查一下集群每个节点中cluster.conf配置文件,看看自己升级的节点是否在这个文件中,需要保证这个文件内容正确。

@java-aodeng
Copy link

我也遇到了,项目里面2.0.3 nacos集群三个都是2.0.3 版本都是一致的。有时候报错,有时候不报错
lQLPDhtvXhapla7NAtjNBqKw5xTAipbmBPsChyNEMwC8AA_1698_728

@dockeryun
Copy link

dockeryun commented May 18, 2022 via email

@java-aodeng
Copy link

我也遇到了,项目里面2.0.3 nacos集群三个都是2.0.3 版本都是一致的。有时候报错,有时候不报错 lQLPDhtvXhapla7NAtjNBqKw5xTAipbmBPsChyNEMwC8AA_1698_728

解决了,隔壁项目组里面用的1.0,用我们的2.0的集群,平滑降级了[大狗头]

@hillbun
Copy link

hillbun commented Sep 20, 2022

可以在NACOS启动JVM增加参数 -Dnacos.core.support.upgrade.from.1x=false 实现吗

@dockeryun
Copy link

dockeryun commented Sep 20, 2022 via email

@KomachiSion KomachiSion closed this as not planned Won't fix, can't repro, duplicate, stale Sep 23, 2022
@BrucerTao
Copy link

我也出现了这种情况,然后执行关闭了双写之后业务代码启动正常。
但是想问下,修复之后会不会出现原先注册的或者新注册的grpc接口有影响的情况

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/discussion Category issues related to discussion
Projects
None yet
Development

No branches or pull requests