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

nacosV1.3.0集群问题 #3110

Closed
gfgfggf1988 opened this issue Jun 18, 2020 · 14 comments
Closed

nacosV1.3.0集群问题 #3110

gfgfggf1988 opened this issue Jun 18, 2020 · 14 comments
Assignees
Labels
area/Naming kind/bug Category issues or prs related to bug. priority/high Very important, need to be worked with soon but not very urgent
Milestone

Comments

@gfgfggf1988
Copy link

nacos部署一主两从集群模式,当从节点出现宕机后,主从之间频繁发送心跳请求。通过curl调用beat的api无法获取到正常节点的返回值,此时注册的应用在服务器中kill掉,在nacos的监控器中不能正常下线。依然显示应用健康状态为正常,此时客户端负载调用注册的服务接口会出现调用不成功的问题

@KomachiSion
Copy link
Collaborator

请提供更多信息,比如接口调用不成功的报错(客户端和服务端),频繁心跳的日志等

@gfgfggf1988
Copy link
Author

nacosV1 3 0集群模式
当集群模式下,某一个从节点挂掉后,在主节点的服务器中查看naming-server.log会看见每5秒打印
image
此时,对注册的服务比如ABC,通过kill -9 杀死ABC的进程。此时在nacos控制台中看见ABC的服务状态依然是健康的,且不能下线

@gfgfggf1988
Copy link
Author

请提供更多信息,比如接口调用不成功的报错(客户端和服务端),频繁心跳的日志等

请查看最新的内容

@KomachiSion
Copy link
Collaborator

你把节点down了,那么发心跳当然是失败的,建议了解一下raft,即使节点不健康 仍然是会继续发心跳的,以便即使检测到他上线,把它从新加会节点。

至于注册的服务被kill点,需要一段时间才能判断为非健康,不能下线需要看下控制台是否有报错,我这边实验是可以下线的。

@gfgfggf1988
Copy link
Author

你把节点down了,那么发心跳当然是失败的,建议了解一下raft,即使节点不健康 仍然是会继续发心跳的,以便即使检测到他上线,把它从新加会节点。

至于注册的服务被kill点,需要一段时间才能判断为非健康,不能下线需要看下控制台是否有报错,我这边实验是可以下线的。

把其中一个服务kill掉。在节点1(主节点)查找
image
在节点2(从节点)查找
image
该服务已kill 十分钟

@gfgfggf1988
Copy link
Author

你把节点down了,那么发心跳当然是失败的,建议了解一下raft,即使节点不健康 仍然是会继续发心跳的,以便即使检测到他上线,把它从新加会节点。
至于注册的服务被kill点,需要一段时间才能判断为非健康,不能下线需要看下控制台是否有报错,我这边实验是可以下线的。

把其中一个服务kill掉。在节点1(主节点)查找
image
在节点2(从节点)查找
image
该服务已kill 十分钟

当把第三个nacos节点(从节点)再恢复。在控制台列表中该服务mdd正常下线

@gfgfggf1988
Copy link
Author

你把节点down了,那么发心跳当然是失败的,建议了解一下raft,即使节点不健康 仍然是会继续发心跳的,以便即使检测到他上线,把它从新加会节点。
至于注册的服务被kill点,需要一段时间才能判断为非健康,不能下线需要看下控制台是否有报错,我这边实验是可以下线的。

把其中一个服务kill掉。在节点1(主节点)查找
image
在节点2(从节点)查找
image
该服务已kill 十分钟

当把第三个nacos节点(从节点)再恢复。在控制台列表中该服务mdd正常下线

回溯了一遍流程。
1.nacos从节点kill进程
2.kill在nacos注册的服务
3.又过去十分钟
mdd在主节点控制台
mdd在从节点控制台
此时主从节点均有服务存在。但实际上该服务已停止,当点击下线按钮
手动下线

@gfgfggf1988
Copy link
Author

你把节点down了,那么发心跳当然是失败的,建议了解一下raft,即使节点不健康 仍然是会继续发心跳的,以便即使检测到他上线,把它从新加会节点。

至于注册的服务被kill点,需要一段时间才能判断为非健康,不能下线需要看下控制台是否有报错,我这边实验是可以下线的。

看一下

@gfgfggf1988
Copy link
Author

你把节点down了,那么发心跳当然是失败的,建议了解一下raft,即使节点不健康 仍然是会继续发心跳的,以便即使检测到他上线,把它从新加会节点。
至于注册的服务被kill点,需要一段时间才能判断为非健康,不能下线需要看下控制台是否有报错,我这边实验是可以下线的。

把其中一个服务kill掉。在节点1(主节点)查找
image
在节点2(从节点)查找
image
该服务已kill 十分钟

当把第三个nacos节点(从节点)再恢复。在控制台列表中该服务mdd正常下线

回溯了一遍流程。
1.nacos从节点kill进程
2.kill在nacos注册的服务
3.又过去十分钟
mdd在主节点控制台
mdd在从节点控制台
此时主从节点均有服务存在。但实际上该服务已停止,当点击下线按钮
手动下线

此时分别查看nacos两个节点的naming-sercer.log日志,不输出。当主动请求
http://172.16.26.54:8848/nacos/v1/ns/instance/beat?app=unknown&namespaceId=public&port=9001&nofix=1&clusterName=DEFAULT&ip=172.16.124.80&serviceName=DEFAULT_GROUP%40%40dig-bmm-mdd&encoding=UTF-8
此时naming-sever.log输出

@KomachiSion
Copy link
Collaborator

OK,我们尝试复现一下。

@gfgfggf1988
Copy link
Author

OK,我们尝试复现一下。

测试出结论了么?

@KomachiSion KomachiSion added area/Naming kind/bug Category issues or prs related to bug. and removed status/more-info-needed status/need feedback labels Jun 24, 2020
@KomachiSion
Copy link
Collaborator

1.3版本确实有这个问题 1.2.1没有 我们会尽快修复

@KomachiSion KomachiSion added the priority/high Very important, need to be worked with soon but not very urgent label Jun 24, 2020
@KomachiSion KomachiSion added this to the 1.3.1 milestone Jun 24, 2020
@chuntaojun chuntaojun self-assigned this Jun 24, 2020
KomachiSion pushed a commit that referenced this issue Jun 24, 2020
* improvement: merge upstream/develop

* fix: fix node status change not notified

* style: fix code style

* refactor: optimize node change event logic

* refactor: adjust the node change event receiver logic
@KomachiSion
Copy link
Collaborator

The bug will be fixed in 1.3.1

@liaomengge
Copy link

1.3版本确实有这个问题 1.2.1没有 我们会尽快修复

1.2.1版本也有这个问题

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/Naming kind/bug Category issues or prs related to bug. priority/high Very important, need to be worked with soon but not very urgent
Projects
None yet
Development

No branches or pull requests

4 participants