部署开源项目记录 - 部署seata时遇到的问题

在部署包含seata的开源项目时,遇到seata服务无法找到的问题。通过检查发现seata未正确注册到nacos,原因是registry.conf中的serverAddr配置错误。调整为nacos容器IP后,seata启动正常。但seata初始化数据源时,因数据源URL配置为本地IP导致失败。修正为服务器上的mysql容器IP后,seata完全启动。此外,本地项目中SEATA_IP需设为服务器外网IP,以便远程访问。总结了远程部署seata涉及的配置关键点,包括nacos和mysql容器IP的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在部署一个开源项目时,本地调试遇到seata的服务一直没有找到,于是开始排查。

首先是将所有组件docker-compose发布到云服务器,接下来本地启动应用,控制台一直报错。

在这里插入图片描述

ERROR 2968 --- [eoutChecker_1_1] i.s.c.r.netty.NettyClientChannelManager  : no available service found in cluster 'default', please make sure registry config correct and keep your seata server running

这个问题就是seata服务端没有正确启动,随即到服务器上查看启动日志,排查问题。

在部署时发现seata一直注册不到nacos上,然后导致了本地应用检测不到SEATA_GROUP而产生报错。

那首先定位问题就是服务端发布的有问题

然后就重新部署发布,使用命令

docker-compose up --build

查看启动日志,首先发现mysql的问题,Operation not permitted,经过一番google,这个问题大概是因为mysql8的版本在docker上部署,会有安全校验,具体解决方法就是在docker-compose.yaml中mysql服务添加参数

security_opt:
  - seccomp:unconfined

重新启动后正常,但是这不是造成seata启动错误的原因,根本问题仍未解决
在这里插入图片描述

seata在启动之后,根据registry.conf的配置注册到nacos

在这里插入图片描述

mall4cloud-seata               | 02:25:03.680  INFO --- [                     main] i.s.core.rpc.netty.NettyServerBootstrap  : Server started, listen port: 8091
mall4cloud-seata               | 02:25:03.804 ERROR --- [                     main] io.seata.server.Server                   : nettySer
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值