当前位置: 首页 > 知识库问答 >
问题:

如何解决RabbitMQ服务器连接错误在Spring云侦探zipkin(Edgware.SR5)

斜浩穰
2023-03-14

我需要通过RabbitMQ发送跨度到Zipkin。我使用Spring-Cloud-Sleuth Edgware SR5版本和SpringBoot 1.5.3。发布版本。使用较旧的Spring-Cloud侦察版本(Spring-Cloud-stream-binder-Rabbit-v1.1.4)。释放)它工作正常。

当我尝试启动服务时,我得到了“AsyncReporter{RabbitMQSender{addresses=[localhost:5672],queue=zipkin}”。“无法建立到RabbitMQ服务器的连接”错误。我已经阅读了文档,但无法解决此问题。

渐变配置:

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:Edgware.SR5"
    }
}

compile 'org.springframework.cloud:spring-cloud-starter-sleuth'
compile 'org.springframework.cloud:spring-cloud-starter-zipkin'
compile 'org.springframework.boot:spring-boot-starter-amqp'
compile 'org.springframework.amqp:spring-rabbit'

应用yml:

spring:
  sleuth:
    enabled: true
    async:
      enabled: true
  sampler:
    percentage: 1.0 
  zipkin:
    baseUrl: 
    sender:
      type: rabbit

异常堆栈跟踪:

Exception in thread "AsyncReporter{RabbitMQSender{addresses=[localhost:5672], queue=zipkin}}" java.lang.IllegalStateException: Unable to establish connection to RabbitMQ server
    at zipkin2.reporter.amqp.RabbitMQSender.get(RabbitMQSender.java:190)
    at zipkin2.reporter.amqp.AutoValue_RabbitMQSender.get(AutoValue_RabbitMQSender.java:27)
    at zipkin2.reporter.amqp.RabbitMQSender$1.initialValue(RabbitMQSender.java:211)
    at zipkin2.reporter.amqp.RabbitMQSender$1.initialValue(RabbitMQSender.java:208)
    at java.lang.ThreadLocal.setInitialValue(Unknown Source)
    at java.lang.ThreadLocal.get(Unknown Source)
    at zipkin2.reporter.amqp.RabbitMQSender$RabbitMQCall.publish(RabbitMQSender.java:231)
    at zipkin2.reporter.amqp.RabbitMQSender$RabbitMQCall.doExecute(RabbitMQSender.java:226)
    at zipkin2.reporter.amqp.RabbitMQSender$RabbitMQCall.doExecute(RabbitMQSender.java:218)
    at zipkin2.Call$Base.execute(Call.java:379)
    at zipkin2.reporter.AsyncReporter$BoundedAsyncReporter.flush(AsyncReporter.java:272)
    at zipkin2.reporter.AsyncReporter$Builder$1.run(AsyncReporter.java:179)
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at com.rabbitmq.client.impl.SocketFrameHandlerFactory.create(SocketFrameHandlerFactory.java:50)
    at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:907)
    at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:859)
    at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:736)
    at zipkin2.reporter.amqp.RabbitMQSender.get(RabbitMQSender.java:188)

感谢和问候苏雷什

共有1个答案

蓬祺
2023-03-14

连接被拒绝:连接

这意味着RabbitMQ没有在localhost:5672上运行(如果在应用程序.yml中没有为其提供主机/端口或地址,这是默认设置)。

 类似资料:
  • 我在Windows10机器上尝试将RabbitMQ(3.6.11版本与Erlang 20一起安装)连接到ZipKin,但我得到了以下错误: 原因:org.springframework.beans.factory.unsatisfieddependencyException:创建名为“server configurator”的bean时出错,该bean在zipkin2.server.interna

  • 我使用Spring云Spring服务连接器连接CloudFoundry上的Rabbitmq服务。 但我需要声明一个CachingConnectionFactory并将其PublisherConfirms设置为true。因为我们需要使用PublisherConfig在向队列发送消息时检查确认。我不知道如何注入从cloud spring服务连接器获得的connectionFactory。或者我们如何处

  • 我们正在尝试使用sleuth向zipkin发送日志。我们使用的是spring boot'2.2.6。发布版和云版Hoxton。释放我添加了以下依赖项 并在logback中添加了以下道具。xml[%X{traceId}%X{spanId}%X{X-Span-Export}] 在我们的2个服务中进行了上述更改后,我们原本希望zipkin会有一些日志,但什么都没有出现。然后我们尝试在应用程序中添加以下属

  • 添加只是span-Cloud-starter-zipkin也能够生成spanId和TraceId那么侦察的需要是什么?Spring-云-启动器-拉链实际上自己拉io.zipkin.brave不是侦探。

  • 请注意,这个问题看起来可能是这个问题的重复,但事实并非如此。下面我包括我的理性 我正在尝试将Sleuth / Zipkin跟踪添加到我的项目中。为此,我遵循了本教程。 我的项目已经在使用RabbitMQ在工作正常的不同微服务之间进行通信。 我的问题是,当我使用web连接时,我能够很好地获得跟踪,但当我尝试使用RabbitMQ通信时,我会遇到无法连接错误。 正如第一行评论的那样,我的问题似乎与rab

  • Express 错误:连接丢失:服务器关闭了连接。 大佬们如何解决 var express = require('express'); var app = express(); const cors = require('cors'); app.use(cors()); app.use(express.static('./public')) const bodyParser = require('