栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

seata注册到nacos服务无法访问问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

seata注册到nacos服务无法访问问题

今天遇到了个奇葩问题,在阿里云服务器上启动了seata并且注册到nacos上面,本地服务却死活访问不了,报错如下:

2022-06-08 16:55:32 [NettyClientSelector_TMROLE_1_1] INFO  i.seata.core.rpc.netty.AbstractNettyRemotingClient - ChannelHandlerContext(AbstractNettyRemotingClient$ClientHandler#0, [id: 0x3f7e3ff6]) will closed 
2022-06-08 16:55:32 [timeoutChecker_1_1] ERROR io.seata.core.rpc.netty.NettyClientChannelManager - 0304 register RM failed. 
io.seata.common.exception.FrameworkException: can not connect to services-server.
	at io.seata.core.rpc.netty.NettyClientBootstrap.getNewChannel(NettyClientBootstrap.java:182)
	at io.seata.core.rpc.netty.NettyPoolableFactory.makeObject(NettyPoolableFactory.java:58)
	at io.seata.core.rpc.netty.NettyPoolableFactory.makeObject(NettyPoolableFactory.java:34)
	at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1220)
	at io.seata.core.rpc.netty.NettyClientChannelManager.doConnect(NettyClientChannelManager.java:221)
	at io.seata.core.rpc.netty.NettyClientChannelManager.acquireChannel(NettyClientChannelManager.java:107)
	at io.seata.core.rpc.netty.NettyClientChannelManager.reconnect(NettyClientChannelManager.java:189)
	at io.seata.core.rpc.netty.AbstractNettyRemotingClient$1.run(AbstractNettyRemotingClient.java:114)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.runAndReset$$$capture(FutureTask.java:308)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:750)
Caused by: io.seata.common.exception.FrameworkException: connect failed, can not connect to services-server.
	at io.seata.core.rpc.netty.NettyClientBootstrap.getNewChannel(NettyClientBootstrap.java:177)
	... 16 common frames omitted
2022-06-08 16:55:32 [timeoutChecker_1_1] ERROR io.seata.core.rpc.netty.NettyClientChannelManager - 0101 can not connect to xxx.xx.xx.xx:8091 cause:can not register RM,err:can not connect to services-server. 
io.seata.common.exception.FrameworkException: can not register RM,err:can not connect to services-server.

到网上找了一大堆,都是千篇一律说配置问题,但仔细检查配置并无差错。其实看到nacos上面seata服务的这个ip,我就觉得不太对劲(因工作原因,马赛克掉了ip地址),并不是阿里云的公网ip。

后来仔细查看了nacos注册ip的资料,才发现问题所在。就是nacos上的seata服务ip是服务器内网ip而非公网ip导致本地服务无法访问的。

在Windows下,启动seata时如果没有指定ip,就会导致服务注册使用内网ip,通过指定ip为公网ip
即可:

seata-server.bat -h 公网ip

参考链接:https://blog.csdn.net/wangw_2007/article/details/113573308

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/964695.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号