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

部署Spring云数据流本地服务器

权烨磊
2023-03-14

作为初学者,我试着按照《手动安装入门》中描述的步骤进行操作。

我可以下载并启动Spring Cloud数据流本地服务器和Spring Cloud数据流shell。

然后我继续部署流

Welcome to the Spring Cloud Data Flow shell. For assistance hit TAB or type "help".
dataflow:>app register --name http --type source --uri maven://org.springframework.cloud.stream.app:http-source-rabbit:1.2.0.RELEASE
Successfully registered application 'source:http'
dataflow:>app register --name log --type sink --uri maven://org.springframework.cloud.stream.app:log-sink-rabbit:1.1.0.RELEASE
Successfully registered application 'sink:log'

然后我尝试创建一个流:

dataflow:>stream create --name httptest --definition "http --server.port=9000 | log" --deploy
Created new stream 'httptest'
Deployment request has been sent

然后发送一些数据,结果失败:

dataflow:>http post --target http://localhost:9000 --data "hello world"
> POST (text/plain) http://localhost:9000 hello world
> 500 INTERNAL_SERVER_ERROR
> 500 INTERNAL_SERVER_ERROR
{
  "exception" : "org.springframework.messaging.MessageHandlingException",
  "path" : "/",
  "error" : "Internal Server Error",
  "message" : "error occurred in message handler [org.springframework.integration.amqp.outbound.AmqpOutboundEndpoint@20eacb00]; nested exception is org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused (Connection refused)",
  "timestamp" : 1546968872545,
  "status" : 500
}
Error sending data 'hello world' to 'http://localhost:9000'

我可以从日志应用程序的日志文件中看到,有些地方出错了。但是作为一个初学者,我真的不知道如何继续或解决这个问题。

有什么想法吗?

共有1个答案

汪弘毅
2023-03-14

查看此错误:

消息处理程序出错[org.springframework.integration.amqp.outbound.AmqpOutboundEndpoint@20eacb00]; 嵌套异常为org.springframework.amqp.AmqpConnectException:java.net.ConnectException:连接被拒绝(连接被拒绝)

您似乎没有在本地运行RabbitMQ。在部署流时,如果您现在启动RabbitMQ实例,应用程序将自动恢复并连接到它。然后您将看到应用程序的成功部署,POST最终也会工作。

消息代理是 Spring Cloud 流的要求。这就是事件驱动的微服务通过发布-订阅语义相互通信的方式。更多详情请见春云流参考指南。

如果你想知道SCDF的作用,这里有一些背景:

SCDF仅仅是一个编排服务。当SCDF的本地实现部署流时,流中的应用程序作为独立的Java进程产生。它们是Spring Boot应用程序。开始时,它们试图用底层绑定器实现库自动配置类路径。在您的示例中,您注册的应用程序与rabbit-binder捆绑在一起,因为它们没有配置为连接到外部RabbitMQ集群,所以应用程序将尝试连接到默认的连接属性(即“localhost”和默认的“port”)。

您可以选择RabbitMQ或Kafka,也可以定制任何开箱即用的应用程序以与其他绑定器实现通信。

这里有一个在SCDF使用Apache Kafka作为binder实现的例子。

 类似资料:
  • 我正在尝试使用skipper服务器管理spring云数据流。 我按照这里的指示: https://docs.spring.io/spring-cloud-dataflow/docs/current/reference/htmlsingle/#getting-started-deploying-spring-cloud-dataflow 应用程序注册和流定义/部署进行得非常顺利,但是在我取消部署部署

  • 在spring cloud dataflow中,根据我的理解,每个流都是一个微服务,但数据流服务器不是。我说的对吗?

  • 我正在尝试创建与Data Flow Web Server一起运行的Spring Cloud Stream聚合应用程序,以便能够通过Web UI管理应用程序。 应用程序运行程序类: 这工作正常。现在正在尝试添加数据流服务器。创建类: 并将其设置为Aggregate Application Builder的父配置: 如果我运行它,将发生以下异常: 看起来Aggregate Application Bu

  • 我正在使用docker部署spring云数据流服务器。我在dataflow服务器内部创建了一个数据处理管道,通过部署两个spring boot应用程序作为源、处理器和接收器。为了访问每个服务的日志,我必须从docker continer(bash)内部跟踪它,或者将其从docker容器复制到本地磁盘。 我想使用log4j-kafka appender将这些日志推送给kafka以供以后分析。我已经为

  • 想要快速体验 FinClip 的完整功能? 从企业端、到运营端,从前端页面到数据库 部署社区版,感受 FinClip 的强大能力! 现在,只需 2 步,即可完成: 准备一台云服务器(本指南适配),也可使用桌面服务器; 按照本指南执行 “自动部署” 脚本。 在完成部署后,你还可以: 在 小程序市场 (opens new window) 中获取示例小程序及代码包 只需5行代码,让小程序在你的APP中跑

  • 我们希望将我们所有的Spring云数据流任务和流部署修复到一组特定的节点。 我有一个样本任务,例如手动工作 (与此处的文档相比,这并不明显https://docs.spring.io/spring-cloud-dataflow/docs/current/reference/htmlsingle/#configuration-kubernetes deployer似乎暗示关键在于节点选择器,而不是部

  • 我正在研究和使用Spring Cloud数据流进行一些概念验证,但遇到了一些问题: 我正在尝试启动本地数据流服务器。为了实现这一点,我创建了一个Spring Boot应用程序,并用< code > @ EnableDataFlowServer 对其进行了注释。 当我尝试运行时,我收到以下错误: 我在寻求帮助,我读到这可能是一个pom的版本问题。实际上我的< code>pom.xml是: 谁能帮我?