Nacos集群启动成功 服务注册失败 nacos registry, nacos-payment-provider register failed...NacosRegist

6 篇文章 0 订阅

错误描述:
在一台服务器上分别配置了一个nginx通过1111端口来监听三个nacos,其中配置的三个nacos 端口号分别是3333 4444 5555,通过命令分别启动sh startup.sh -p 3333 sh startup.sh -p 4444
sh startup.sh -p 5555 启动后
但是通过浏览器http://192.168.2.103:1111/nacos/#/serviceManagement?dataId=&group=&appName=&namespace=访问nacos正常打开页面填数据也正常,就是微服务启动后注册失败
微服务提供者启动报的错:

2023-08-21 22:21:16.890  INFO 12984 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2023-08-21 22:21:16.986  INFO 12984 --- [           main] o.s.s.c.ThreadPoolTaskScheduler          : Initializing ExecutorService
2023-08-21 22:21:17.864  INFO 12984 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 18 endpoint(s) beneath base path '/actuator'
2023-08-21 22:21:17.920  INFO 12984 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 9001 (http) with context path ''
2023-08-21 22:21:20.013 ERROR 12984 --- [           main] c.a.c.n.registry.NacosServiceRegistry    : nacos registry, nacos-payment-provider register failed...NacosRegistration{nacosDiscoveryProperties=NacosDiscoveryProperties{serverAddr='192.168.2.103:1111', endpoint='', namespace='', watchDelay=30000, logName='', service='nacos-payment-provider', weight=1.0, clusterName='DEFAULT', namingLoadCacheAtStart='false', metadata={preserved.register.source=SPRING_CLOUD}, registerEnabled=true, ip='192.168.2.101', networkInterface='', port=9001, secure=false, accessKey='', secretKey=''}},

java.lang.IllegalStateException: failed to req API:/nacos/v1/ns/instance after all servers([192.168.2.103:1111]) tried: failed to req API:192.168.2.103:1111/nacos/v1/ns/instance. code:500 msg: java.net.SocketTimeoutException: Read timed out
	at com.alibaba.nacos.client.naming.net.NamingProxy.reqAPI(NamingProxy.java:464) ~[nacos-client-1.1.1.jar:na]
	at com.alibaba.nacos.client.naming.net.NamingProxy.reqAPI(NamingProxy.java:386) ~[nacos-client-1.1.1.jar:na]
	at com.alibaba.nacos.client.naming.net.NamingProxy.registerService(NamingProxy.java:188) ~[nacos-client-1.1.1.jar:na]
	at com.alibaba.nacos.client.naming.NacosNamingService.registerInstance(NacosNamingService.java:205) ~[nacos-client-1.1.1.jar:na]
	at com.alibaba.nacos.client.naming.NacosNamingService.registerInstance(NacosNamingService.java:184) ~[nacos-client-1.1.1.jar:na]
	at com.alibaba.cloud.nacos.registry.NacosServiceRegistry.register(NacosServiceRegistry.java:61) ~[spring-cloud-alibaba-nacos-discovery-2.1.0.RELEASE.jar:2.1.0.RELEASE]
	at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.register(AbstractAutoServiceRegistration.java:239) [spring-cloud-commons-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at com.alibaba.cloud.nacos.registry.NacosAutoServiceRegistration.register(NacosAutoServiceRegistration.java:74) [spring-cloud-alibaba-nacos-discovery-2.1.0.RELEASE.jar:2.1.0.RELEASE]
	at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.start(AbstractAutoServiceRegistration.java:138) [spring-cloud-commons-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.bind(AbstractAutoServiceRegistration.java:101) [spring-cloud-commons-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.onApplicationEvent(AbstractAutoServiceRegistration.java:88) [spring-cloud-commons-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.onApplicationEvent(AbstractAutoServiceRegistration.java:47) [spring-cloud-commons-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) [spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) [spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) [spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:403) [spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:360) [spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:165) [spring-boot-2.2.2.RELEASE.jar:2.2.2.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553) [spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) [spring-boot-2.2.2.RELEASE.jar:2.2.2.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) [spring-boot-2.2.2.RELEASE.jar:2.2.2.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) [spring-boot-2.2.2.RELEASE.jar:2.2.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-2.2.2.RELEASE.jar:2.2.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.2.2.RELEASE.jar:2.2.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) [spring-boot-2.2.2.RELEASE.jar:2.2.2.RELEASE]
	at com.atguigu.springcloud.PaymentMain9001.main(PaymentMain9001.java:15) [classes/:na]

2023-08-21 22:21:20.485  INFO 12984 --- [           main] com.atguigu.springcloud.PaymentMain9001  : Started PaymentMain9001 in 6.225 seconds (JVM running for 6.901)
2023-08-21 22:21:21.077  INFO 12984 --- [)-192.168.2.101] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-08-21 22:21:21.078  INFO 12984 --- [)-192.168.2.101] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2023-08-21 22:21:21.082  INFO 12984 --- [)-192.168.2.101] o.s.web.servlet.DispatcherServlet        : Completed initialization in 4 ms

nacos日志报的错:

java.lang.IllegalStateException: unable to find local peer: 192.168.2.103:3333, all peers: [11.16.128.34:3333, 10.10.109.214:3333, 11.16.128.36:3333]
	at com.alibaba.nacos.naming.consistency.persistent.raft.RaftPeerSet.local(RaftPeerSet.java:224)
	at com.alibaba.nacos.naming.monitor.PerformanceLoggerThread.collectMetrics(PerformanceLoggerThread.java:100)
	
java.lang.IllegalStateException: unable to find local peer: 192.168.2.103:4444, all peers: [11.16.128.34:4444, 11.16.128.36:4444, 10.10.109.214:4444]
	at com.alibaba.nacos.naming.consistency.persistent.raft.RaftPeerSet.local(RaftPeerSet.java:224)
	
java.lang.IllegalStateException: unable to find local peer: 192.168.2.103:5555, all peers: [11.16.128.34:5555, 11.16.128.36:5555, 10.10.109.214:5555]
	at com.alibaba.nacos.naming.consistency.persistent.raft.RaftPeerSet.local(RaftPeerSet.java:224)

错误分析
在win10h 配置单个的时候没有问题,现在在linux系统上单机配置三个启动三个端口号不同的nacos
分别是192.168.2.103:3333、192.168.2.103:4444、192.168.2.103:5555,192.168.2.103:1111是我配置的nginx 监听地址来管理这三个nacos地址的
出现此项错误的原因在于:分别启动sh startup.sh -p 3333 sh startup.sh -p 4444
sh startup.sh -p 5555
配置了 nacos 集群。分别启动单个nacos时,会监测 cluster.conf文件中的信息,当其中配置了其他nacos时,若其他未启动,则会出现上述报错!

错误解决
nacos 配置了集群后出现的问题,需要在配置中增加:
添加启动参数-Dnacos.standalone=true
像下面这样启动
sh startup.sh -p 3333 -m standalone
sh startup.sh -p 4444-m standalone
sh startup.sh -p 5555 -m standalone
分别启动后就正常了

-p是参数是因为我三个nacos就部署在一台机器上所以端号不能一样,所以在nacos的startup.sh文件里面进行了修改加了port
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值