錯誤日志如下:
java.lang.RuntimeException: ErrCode:500, ErrMsg:failed to req API:/nacos/v1/ns/instance after all servers([172.16.176.251:8848]) tried: java.net.SocketException: Connection reset at io.seata.core.rpc.netty.NettyServerBootstrap.start(NettyServerBootstrap.java:157) ~[seata-core-1.4.0.jar:na] at io.seata.core.rpc.netty.AbstractNettyRemotingServer.init(AbstractNettyRemotingServer.java:55) ~[seata-core-1.4.0.jar:na] at io.seata.core.rpc.netty.NettyRemotingServer.init(NettyRemotingServer.java:52) ~[seata-core-1.4.0.jar:na] at io.seata.server.Server.main(Server.java:102) ~[classes/:na] Caused by: com.alibaba.nacos.api.exception.NacosException: failed to req API:/nacos/v1/ns/instance after all servers([172.16.176.251:8848]) tried: java.net.SocketException: Connection reset at com.alibaba.nacos.client.naming.net.NamingProxy.reqApi(NamingProxy.java:552) ~[nacos-client-1.3.3.jar:na] at com.alibaba.nacos.client.naming.net.NamingProxy.reqApi(NamingProxy.java:491) ~[nacos-client-1.3.3.jar:na] at com.alibaba.nacos.client.naming.net.NamingProxy.reqApi(NamingProxy.java:486) ~[nacos-client-1.3.3.jar:na] at com.alibaba.nacos.client.naming.net.NamingProxy.registerService(NamingProxy.java:239) ~[nacos-client-1.3.3.jar:na] at com.alibaba.nacos.client.naming.NacosNamingService.registerInstance(NacosNamingService.java:200) ~[nacos-client-1.3.3.jar:na] at com.alibaba.nacos.client.naming.NacosNamingService.registerInstance(NacosNamingService.java:185) ~[nacos-client-1.3.3.jar:na] at io.seata.discovery.registry.nacos.NacosRegistryServiceImpl.register(NacosRegistryServiceImpl.java:85) ~[seata-discovery-nacos-1.4.0.jar:na] at io.seata.core.rpc.netty.NettyServerBootstrap.start(NettyServerBootstrap.java:153) ~[seata-core-1.4.0.jar:na] ... 3 common frames omitted <== 2021-07-07 09:42:18.097 INFO --- [ main] io.seata.server.Server : The server is running in container. 2021-07-07 09:42:18.125 INFO --- [ main] io.seata.config.FileConfiguration : The file name of the operation is file:/root/resources/registry 2021-07-07 09:42:18.127 INFO --- [ main] io.seata.config.FileConfiguration : The configuration file used is /root/resources/registry.conf 2021-07-07 09:42:18.310 INFO --- [ main] io.seata.config.FileConfiguration : The file name of the operation is file.conf 2021-07-07 09:42:18.311 INFO --- [ main] io.seata.config.FileConfiguration : The configuration file used is file.conf 2021-07-07 09:42:18.816 INFO --- [ main] i.s.core.rpc.netty.NettyServerBootstrap : Server started, listen port: 8091 2021-07-07 09:42:19.455 ERROR --- [ main] io.seata.server.Server : nettyServer init error:ErrCode:500, ErrMsg:failed to req API:/nacos/v1/ns/instance after all servers([172.16.176.251:8848]) tried: java.net.SocketException: Connection reset ==> java.lang.RuntimeException: ErrCode:500, ErrMsg:failed to req API:/nacos/v1/ns/instance after all servers([172.16.176.251:8848]) tried: java.net.SocketException: Connection reset at io.seata.core.rpc.netty.NettyServerBootstrap.start(NettyServerBootstrap.java:157) ~[seata-core-1.4.0.jar:na] at io.seata.core.rpc.netty.AbstractNettyRemotingServer.init(AbstractNettyRemotingServer.java:55) ~[seata-core-1.4.0.jar:na] at io.seata.core.rpc.netty.NettyRemotingServer.init(NettyRemotingServer.java:52) ~[seata-core-1.4.0.jar:na] at io.seata.server.Server.main(Server.java:102) ~[classes/:na] Caused by: com.alibaba.nacos.api.exception.NacosException: failed to req API:/nacos/v1/ns/instance after all servers([172.16.176.251:8848]) tried: java.net.SocketException: Connection reset at com.alibaba.nacos.client.naming.net.NamingProxy.reqApi(NamingProxy.java:552) ~[nacos-client-1.3.3.jar:na] at com.alibaba.nacos.client.naming.net.NamingProxy.reqApi(NamingProxy.java:491) ~[nacos-client-1.3.3.jar:na] at com.alibaba.nacos.client.naming.net.NamingProxy.reqApi(NamingProxy.java:486) ~[nacos-client-1.3.3.jar:na] at com.alibaba.nacos.client.naming.net.NamingProxy.registerService(NamingProxy.java:239) ~[nacos-client-1.3.3.jar:na] at com.alibaba.nacos.client.naming.NacosNamingService.registerInstance(NacosNamingService.java:200) ~[nacos-client-1.3.3.jar:na] at com.alibaba.nacos.client.naming.NacosNamingService.registerInstance(NacosNamingService.java:185) ~[nacos-client-1.3.3.jar:na] at io.seata.discovery.registry.nacos.NacosRegistryServiceImpl.register(NacosRegistryServiceImpl.java:85) ~[seata-discovery-nacos-1.4.0.jar:na] at io.seata.core.rpc.netty.NettyServerBootstrap.start(NettyServerBootstrap.java:153) ~[seata-core-1.4.0.jar:na] ... 3 common frames omitted <== 2021-07-07 09:42:23.117 INFO --- [ main] io.seata.server.Server : The server is running in container. 2021-07-07 09:42:23.126 INFO --- [ main] io.seata.config.FileConfiguration : The file name of the operation is file:/root/resources/registry 2021-07-07 09:42:23.128 INFO --- [ main] io.seata.config.FileConfiguration : The configuration file used is /root/resources/registry.conf 2021-07-07 09:42:23.204 INFO --- [ main] io.seata.config.FileConfiguration : The file name of the operation is file.conf 2021-07-07 09:42:23.205 INFO --- [ main] io.seata.config.FileConfiguration : The configuration file used is file.conf 2021-07-07 09:42:23.482 INFO --- [ main] i.s.core.rpc.netty.NettyServerBootstrap : Server started, listen port: 8091
前提:我用的是NACOS做服務的注冊中心,使用docker-compose去啟動 nacos,seata; 並且seata依賴nacos啟動。也就是說nacos先於seata啟動;
啟動之后,我查看log,發現打印了上面的錯誤信息,但是最終啟動成功;因為剛開始了解seata,我以為seata雖然啟動成功,但是可能存在其他問題。經過查閱,nacos的/nacos/v1/ns/instance接口是用於注冊服務實例的;上面顯示注冊接口無法訪問,我剛開始以為是nacos無法訪問,后面發現並不是,而且最終啟動成功,證明連接上了nacos;去nacos后台查看,發現確實已經存在服務了;那么這個錯誤肯定就是seata啟動的時候,nacos服務並沒有完全啟動成功,所以接口還無法使用;所以我把nacos和seata的啟動時間間隔長一點,發現,果然沒有錯誤日志了;