Springcloud+Nacos+Seata1.4.2 启动时报错 :
i.s.c.r.netty.NettyClientChannelManager : 0304 register RM failed.
或者是:
NettyClientChannelManager : 0101 can not connect to 127.0.0.1:8091 cause:can not register RM,err:can not connect to services-server.
发现问题: NettyClientChannelManager : will connect to 127.0.0.1:8091 这是连接的本地,没有连接我的服务器地址:106.15.38.88
解决:
1、确保seata 在服务器上启动时,SEATA_IP指定了外网ip,防火墙放开8091端口,如果云服务器,配置8091端口的安全规则
docker run -it -d -p 8091:8091 \
-v /root/dev/docker/seata/seata-config/registry.conf:/seata-server/resources/registry.conf \
-v /root/dev/docker/seata/seata-config/file.conf:/seata-server/resources/file.conf \
-v /root/dev/docker/seata/logs:/root/logs \
-e SEATA_IP=106.15.38.88 \ ## 指定ip地址,NettyClientChannelManager可通过外网ip访问
-e SEATA_PORT=8091 \
--name seata1.4.2 seataio/seata-server:1.4.2
2、在项目YML配置文件中,配置seata注册信息,测试发现,registry和config 这两个配置,只要配置了其中一个,NettyClientChannelManager都会去连接我的seata服务器地址,解决问题
3、重启项目,查看信息,连接正常
这是我所遇到的问题,可能还能其它原因导致类似错误,具体问题具体分析吧。