【开发问题记录】启动某个微服务时无法连接到seata(seata启动或配置异常)

问题记录

  • 一、问题描述
    • 1.1 问题复现
      • 1.1.1 将Linux中的部分微服务启动
      • 1.1.2 在本地启动当时出错的服务
    • 1.2 解决思路
      • 1.2.1 Nacos中seata相关的信息
      • 1.2.2 Linux中seata相关的信息
  • 二、问题解决
    • 2.1 seata的配置错误
      • 2.1.1 Nacos中seata的配置问题
      • 2.1.2 命名空间问题的发现
    • 2.2 网络连接(一个小失误)
  • 三、问题总结

一、问题描述

1.1 问题复现

1.1.1 将Linux中的部分微服务启动

  • docker start xxx
  • docker ps -a

在这里插入图片描述


  • 然后这些服务都会被注册到nacos中

在这里插入图片描述


  • 包含一些通用的配置服务

在这里插入图片描述


1.1.2 在本地启动当时出错的服务

  • 启动后,刷新前端页面,出现了报错异常,报错信息为
  • no available service found in cluster 'default',please make sure registry config correct and keep your seata server running
  • 看报错内容说明是在集群default中没有找到可用的服务,确保配置文件正确并保证seata服务正常启动

在这里插入图片描述


1.2 解决思路

根据这个异常提示信息,我先是查看了nacos中的seata相关的配置信息,然后又去linux中查看了seata的日志信息

1.2.1 Nacos中seata相关的信息

  • 首先seata服务启动是正常的

在这里插入图片描述


  • 检查seata的yaml文件内容,没有发现什么问题

在这里插入图片描述

1.2.2 Linux中seata相关的信息

  • 查看linux中seata的日志信息,看看有没有报错提示
  • docker logs -f seata
  • 发现了一些与Mysql相关的错误信息,好像是Mysql没有连接上

在这里插入图片描述

  • 然后查看MySql的日志信息
  • docker logs -f mysql
  • MySQL中没有发现特别的报错信息,但是有一个“不允许操作”的提示

在这里插入图片描述


二、问题解决

由于我这篇文章是解决完问题之后才总结的,我觉得应该会有一些读者大佬在看到我上面的问题复现时就已经看出问题所在了,我当时在找的时候确实没有发现,不过后来发现后在解决的时候又有一个小失误

2.1 seata的配置错误

  • 其实问题一开始就可以找到,只是我对这块不是很熟悉,我这里的错误需要对照两块内容:
    • 一个就是异常中提到的集群‘default’中找不到可用的微服务,这是因为我的Nacos中seata的配置文件里没有配置集群‘default’
    • 至于另一个当时没有发现命名空间的问题,这还是在看到Linux中seata的配置文件里的命名空间跟Nacos中的不一样才明白过来

2.1.1 Nacos中seata的配置问题

错误版本:

seata:registry: # TC服务注册中心的配置,微服务根据这些信息去注册中心获取tc服务地址type: nacos # 注册中心类型 nacosnacos:server-addr: 192.168.113.128:8848 # nacos地址namespace: "c975b6f4-de7e-40ad-9b15-4a245ce7a2ef" # namespace,默认为空group: DEFAULT_GROUP # 分组,默认是DEFAULT_GROUPapplication: seata-server # seata服务名称username: nacospassword: nacostx-service-group: tjxt # 事务组名称service:vgroup-mapping: # 事务组与cluster的映射关系tjxt: "default"
  • 这里是没有配置集群cluster及后面发现的命名空间的错误

正确版本:

seata:registry: # TC服务注册中心的配置,微服务根据这些信息去注册中心获取tc服务地址type: nacos # 注册中心类型 nacosnacos:server-addr: 192.168.113.128:8848 # nacos地址namespace: "f923fb34-cb0a-4c06-8fca-ad61ea61a3f0"cluster: "default"group: DEFAULT_GROUP # 分组,默认是DEFAULT_GROUPapplication: seata-server # seata服务名称username: nacospassword: nacostx-service-group: tjxt # 事务组名称service:vgroup-mapping: # 事务组与cluster的映射关系tjxt: "default"

2.1.2 命名空间问题的发现

  • 这个问题起初是在Linux中seata的配置文件中发现的
  • docker exec -it seata bash
  • ls
  • cd resources/
  • cat application.yml
  • 找到seata的部分,发现命名空间不一样

在这里插入图片描述

  • 其实最后才发现,这里的命名空间就是Nacos中微服务—>服务列表后面的内容:

在这里插入图片描述


2.2 网络连接(一个小失误)

  • 解决完这些后发现还是报错,尝试了好久发现网络ping不通,最后发现是我的Windows防火墙没关,这样才导致我本地访问不到Linux中的IP和端口。
  • 至此,问题解决!

三、问题总结

导致这次问题出现的原因有两个:

  • 1.第一个就是seata的配置问题,这里要注意检查Nacos中的配置和Linux容器中seata的配置
  • 2.第二个是网络连接的问题,在本地与虚拟机之间要进行网络连接,需要关闭双方的防火墙,避免访问不到对方的IP和端口。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/386185.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Matlab编程资源库(10)离散傅立叶变换

一、离散傅立叶变换算法简要 给定一个N点的离散信号序列x(n),其中n表示时刻,n 0, 1, 2, ..., N-1。 定义离散傅立叶变换的频域序列X(k),其中k表示频率,k 0, 1, 2, ..., N-1。 通过以下公式计算每个频率对应的复数值&#xff…

生鲜云订单零售系统小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,商品分类管理,商品信息管理,订单评价管理,订单管理,系统管理 微信端账号功能包括:系统首页,商品信息&#…

[Unity] ShaderGraph实现镜头加速线/残血效果 URP

效果如下所示:残血状态时,画面会压暗角,并出现速度线营造紧迫感。 使用到的素材如下,换别的当然也可以。[这是张白色的png放射图,并非皇帝的新图hhh] 这个效果的实现逻辑,其实就是利用time向圆心做透明度的…

2024经济师考试报名『注册流程』图解!

⏰报名时间:8月12日—9月11日 ☑️报名注册流程 1、经济师考试报名注册网站:中国人事考试网. 2、点击考生登录栏目中的【新用户注册】按钮,进行注册。 3、进入用户注册界面,填写注册信息。 4、填写完毕确认无误后点击【提交】&…

Unity UGUI 之 Mask

本文仅作学习笔记与交流,不作任何商业用途 本文包括但不限于unity官方手册,唐老狮,麦扣教程知识,引用会标记,如有不足还请斧正 本文在发布时间选用unity 2022.3.8稳定版本,请注意分别 1.什么是遮罩 遮罩是一…

深度解读大语言模型中的Transformer架构

一、Transformer的诞生背景 传统的循环神经网络(RNN)和长短期记忆网络(LSTM)在处理自然语言时存在诸多局限性。RNN 由于其递归的结构,在处理长序列时容易出现梯度消失和梯度爆炸的问题。这导致模型难以捕捉长距离的依…

学习react-登录状态验证

1.创建三个页面LoginPage, HomePage,NotFoundPage用于Router 创建LoginPage.tsx用于做登录页面 // LoginPage.tsx const LoginPage (props:LoginProp) > {const navigate useNavigate();return( <h1 onClick{ ()>{navigate("/");}}>Hello Login, {pr…

02 Go语言操作MySQL基础教程_20240729 课程笔记

概述 如果您没有Golang的基础&#xff0c;应该学习如下前置课程。 Golang零基础入门Golang面向对象编程Go Web 基础Go语言开发REST API接口_20240728 基础不好的同学每节课的代码最好配合视频进行阅读和学习&#xff0c;如果基础比较扎实&#xff0c;则阅读本教程巩固一下相…

微信小游戏之 三消(一)

首先设定一下 单个 方块 cell 类&#xff1a; 类定义和属性 init 方法 用于初始化方块&#xff0c;接收游戏实例、数据、宽度、道具类型和位置。 onWarning 方法 设置警告精灵的帧&#xff0c;并播放闪烁动作&#xff0c;用于显示方块的警告状态。 grow 方法 根据传入的方向…

21.发布确认模式-高级

问题 生产环境中由于一些不明原因&#xff0c;导致rabbitmq重启&#xff0c;在重启的期间生产者消息投递失败&#xff0c;导致消息丢失&#xff0c;需要手动处理恢复。那么如何才能进行rabbitmq的消息可靠性投递&#xff1f;特别是在极端的情况&#xff0c;rabbitmq集群不可用…

文件操作相关的精讲

目录&#xff1a; 思维导图 一. 文件定义 二. 文件的打开和关闭 三. 文件的顺序读写操作 四. 文件的随机读写操作 五. 文本文件和二进制文件 六. 文件读取结束的判断 七.文件缓冲区 思维导图&#xff1a; 一. 文件定义 1.文件定义 C语言中&#xff0c;文件是指一组相…

Vue3可媲美Element Plus Tree组件实战之移除节点

Element Plus Tree自定义节点内容示例中介绍了移除节点的用法&#xff0c;个人觉得作为提供给用户API&#xff0c;应该遵循迪米特法则&#xff0c;把功能实现的细节封装在组件内部&#xff0c;而提供给用户最简单的操作方式&#xff0c;同时在此基础上支持用户的扩展。 因此&a…

接口测试支持IDEA插件一键同步API、新增思维导图快速评审测试用例,MeterSphere开源持续测试工具v3.1.0版本发布

2024年7月29日&#xff0c;MeterSphere开源持续测试工具正式发布v3.1.0版本。 在这一版本中&#xff0c;接口测试方面&#xff0c;支持通过IDEA插件一键同步API至MeterSphere&#xff1b;测试管理方面&#xff0c;“测试用例”模块新增通过思维导图模式快捷评审测试用例。在“…

挑战房市预测领头羊:KNN vs. 决策树 vs. 线性回归

挑战房市预测领头羊&#xff08;KNN&#xff0c;决策树&#xff0c;线性回归&#xff09; 1. 介绍1.1 K最近邻&#xff08;KNN&#xff09;&#xff1a;与邻居的友谊1.1.1 KNN的基础1.1.2 KNN的运作机制1.1.3 KNN的优缺点 1.2 决策树&#xff1a;解码房价的逻辑树1.2.1 决策树的…

CSS实现文本溢出处理

1.单行文本溢出 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-wid…

总结——TI_音频信号分析仪

一、简介 设备&#xff1a;MSPM0G3507 库&#xff1a;CMSIS-DSP TI 数据分析&#xff1a;FFT 软件&#xff1a;CCS CLion MATLAB 目的&#xff1a;对音频信号进行采样&#xff08;滤波偏置处理&#xff09;&#xff0c;通过FFT获取信号的频率成分&am…

【Vue3】watchEffect

【Vue3】watchEffect 背景简介开发环境开发步骤及源码 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋斗的日子。本文…

了解Selenium中的WebElement

Selenium中到处都使用WebElement来执行各种操作。什么是WebElement&#xff1f;这篇文章将详细讨论WebElement。 Selenium中的WebElement是一个表示网站HTML元素的Java接口。HTML元素包含一个开始标记和一个结束标记&#xff0c;内容位于这两个标记之间。 HTML元素的重命名 …

C#插件 调用存储过程(输出参数类型)

存储过程 CREATE PROCEDURE [dbo].[GetSum]num1 INT,num2 INT,result INT OUTPUT AS BEGINselect result num1 num2 END C#代码 using Kingdee.BOS; using Kingdee.BOS.App.Data; using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Util; using System; using System.…

放大电路总结

补充: 只有直流移动时才有Rbe动态等效电阻 从RsUs看进去,实际上不管接了什么东西都能够看成是一个Ri(输入电阻) Ri Ui/Ii Rb//Rbe Ui/Us Ri/(RiRs) Aus (Uo/Ui)*(Ui/Us) Au *Ri/(RiRs) 当前面是一个电压源的信号 我们就需要输入电阻更大 Ro--->输出电阻--->将…