如何在与 Spring Cloud Data Local 服务器不同的服务器上运行任务
Posted
技术标签:
【中文标题】如何在与 Spring Cloud Data Local 服务器不同的服务器上运行任务【英文标题】:How to run task on a different server than Spring Cloud Data Local server 【发布时间】:2020-02-14 18:13:21 【问题描述】:我想托管一个 Spring Cloud Data Flow 本地服务器来监控和执行我的各种 Spring Boot Batch 项目。
我想要实现的问题或基础架构是,我希望服务器 A 上的 Spring Cloud Data Flow Server 主机能够在服务器 B 上执行 Spring Boot 批处理/任务。
这是我想要实现的可能配置吗?如果不是,我应该如何实现这一目标?由于我很少有在不同服务器上运行的 Spring Boot 批处理应用程序。
【问题讨论】:
【参考方案1】:这不是 SCDF 的工作方式。所以我不认为这是可能的。如果您想监控您的批处理作业,那么您需要在 SCDF 服务器中注册您的作业。
【讨论】:
【参考方案2】:这取决于您如何启动和配置批处理应用程序。您可以有一个自定义任务应用程序(称为批处理启动器)在外部集群上启动您的批处理作业。但是,在监控应用程序方面,SCDF 可以帮助监控用于启动实际批处理而不是在外部集群上运行的实际作业的任务应用程序(批处理启动器)(除非您有检索机制批处理应用程序的指标到批处理启动器中)。
使用 SCDF 任务(使用 Spark 客户端)在 Spark 集群上启动 Spark 计算作业就是这样一个示例。在这种情况下,您将注册 SCDF 任务并通过 SCDF(而不是 Spark Compute Job)仅监控 Spark 客户端任务应用程序。
【讨论】:
以上是关于如何在与 Spring Cloud Data Local 服务器不同的服务器上运行任务的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spring Cloud Data Flow 中为 Spring Batch 作业设置调度程序?
Spring Boot && Spring Cloud系列在spring-data-Redis中如何使用切换库
如何在 Spring Cloud Data Flow 任务中外部化应用程序属性
如何在与MongoDB集成的Spring boot Elastic Search中实现对非结构化数据的搜索