问题标签 [spring-cloud-dataflow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
424 浏览

spring - Spring Dataflow 和 Yarn:如何正确设置属性?

如何更改默认的 appdeployappmaster 属性?

当我尝试通过 Spring DataFlow YARN 部署应用程序时。我注册了我的应用程序,创建了一个流,然后单击“部署”按钮。这样做时,我收到以下错误:

[XNIO-2 task-2] 警告 oscdscStreamDeploymentController - 部署应用程序 StreamAppDefinition 时出现异常 [streamName=histo, name=my-app, registeredAppName=my-app, properties={spring.cloud.stream.bindings.input.destination=log , spring.cloud.stream.bindings.input.group=histo}]: java.util.concurrent.ExecutionException: org.springframework.yarn.YarnSystemException: Invalid host name: local host is: (unknown); 目标主机是:“null”:8032;java.net.UnknownHostException;有关详细信息,请参阅: http ://wiki.apache.org/hadoop/UnknownHost ;嵌套异常是 java.net.UnknownHostException: Invalid host name: local host is: (unknown); 目标主机是:“null”:8032;java.net.UnknownHostException;有关更多详细信息,请参阅: http ://wiki.apache.org/hadoop/UnknownHost

如您所见,部署程序无法找到“资源管理器”URI,尽管在 Spring DataFlow Server 启动时很好找到。所以我只在部署时遇到问题。

我应该设置哪个属性来解决这个问题,我应该在哪里做?

编辑 1: 按照 Janne Valkealahti 的回答,我在 中添加了以下属性/dataflow/apps/stream/app/servers.yml,重新启动了服务器,并尝试重新部署我的流。

我仍然收到完全相同的消息。

PS:我没有使用 Ambari,我想先了解它是如何手动工作的。

编辑 2: 我解决了-Dspring.config.location在 DataFlow 服务器上添加 VM arg 的问题。给定的配置被传递给部署者,应用程序被有效地部署。

我会为它写一个答案。

0 投票
1 回答
62 浏览

hadoop - 如何使用 Spring DataFlow 部署自治应用程序?

我的应用程序配置为从已配置的 Kafka 中读取主题,然后将转换后的结果写入 Hadoop HDFS。为此,它需要在 Yarn 集群节点上启动。

为此,我们想使用 Spring DataFlow。但是由于这个应用程序不需要来自另一个流的任何输入(它已经知道从哪里拉它的源),并且什么也不输出,我如何从中创建一个有效的 DataFlow 流?换句话说,这将是一个仅由一个应用程序组成的流,它应该在 Yarn 节点上无限期地运行。

0 投票
2 回答
732 浏览

spring - Spring Dataflow 概念说明

我开始使用 Spring Dataflow,发现自己遇到了一些我无法回答的问题,阅读了文档并进行了一些测试。欢迎任何澄清(如果您不能一次回答所有问题,请回答您可以回答的问题,如果需要,我会合并完整的答案)

  1. Spring Dataflow 旨在编写应用程序工作流,例如: 的输出app A是 的输入app B,等等。工作流程不需要是线性的,因为 的输出app A可能是 和 的app B输入app C那准确吗?

  2. 流水线中的应用程序以“消息驱动”的方式进行通信,这一点写得很好。App A将消息发送到代理(例如 RabbitMQ 或 Kafka),并app B从中使用消息。我们的流程中可以有多个不同的经纪人。但是消息传递是在应用程序之间发送信息的唯一方式吗?例如,是否可以通过 HTTP REST 请求进行app A调用?app B如果是这样,如何?

  3. 由于应用程序依赖于异步消息传递(参见上面的问题),Dataflow 的附加值是什么?我的意思是,如果您配置app A为向foo主题发送消息,并app B使用来自同一主题的消息,您可以分别部署两者(没有数据流),它会工作。据我了解,Dataflow 只提供了一种一次性部署和取消部署它们的方法,而不是一个接一个。那是对的吗 ?

  4. 与上一个问题一样,异步消息传递将您从定义流顺序中抽象出来(即您可以app B在之前开始app A)。整个系统只有在两个应用程序都启动时才能工作,但它们甚至不需要相互了解。唯一需要的是他们使用相同的代理和主题,一个发送消息,另一个获取消息。那么,为什么您绝对需要在 Spring Cloud Dataflow 中将一个应用程序的输出链接到另一个应用程序的输入?这是一种强制两个应用程序使用相同主题的方法,但仅此而已吗?

0 投票
1 回答
200 浏览

hadoop-yarn - 使用 Spring Cloud Dataflow 部署到 YARN

将流部署到远程 YARN 集群时,我从 YARN UI 收到以下错误:

该文件存在于 Dataflow 服务器端,包含以下数据:

据我了解,此错误来自尝试访问配置文件的已部署容器。我不能理解的是这个配置文件什么时候应该被复制到 YARN 中

这可能很明显,但这很难调试,不知道这一点。此外,如果有帮助,这里是 YARN 日志:

0 投票
1 回答
747 浏览

kubernetes - Spring Cloud Data Flow:任务无法在 Kubernetes 集群上启动

我已经在本地 Kubernetes 集群上部署了 Spring Cloud Data Flow 服务器。一切似乎都很好。然后我创建一个类型为 的 App Task,给出 Spring-Boot JAR 的 URL。然后我创建一个任务“定义”并启动它。任务定义挂起状态为“正在启动”。

以下是我的发现:

  1. 查看 Kubernetes,我看到与正确创建但无法启动的任务对应的 pod,状态为ImagePullBackOff

  2. 此 pod 配置为image: /tmp/deployer-resource-cache5494152820122807128/https-60030cec0dd24157b95f59cd3e5b0819916e4adc,并且日志显示以下消息:

    Failed to pull image "/tmp/deployer-resource-cache5494152820122807128/https-60030cec0dd24157b95f59cd3e5b0819916e4adc": couldn't parse image reference "/tmp/deployer-resource-cache5494152820122807128/https-60030cec0dd24157b95f59cd3e5b0819916e4adc": invalid reference format

  3. 我连接到 SCDF 服务器 pod shell,检查/tmp文件夹,然后查看deployer-resource-cache5494152820122807128那里的文件夹。

我的理解是 SCDF 创建了一个要在 Kubernetes pod 中执行的临时图像,但是这个图像是在scdf服务器 pod 中创建的,所以它显然不能从任务 pod 中获得。

我的问题是这应该如何工作?

在我看来,图像应该被推送到注册表,或者以某种方式存储在共享卷上,但我在文档中没有找到任何关于该主题的内容。任何想法或建议将不胜感激。

0 投票
1 回答
1439 浏览

spring-cloud - 如何使用自定义参数正确创建 Spring Cloud Task?

根据这里的示例(实际上是时间戳任务),我实现了一个小任务类:

然后我创建了 Properties 类(在同一个包中)

但是在我在本地 Spring Cloud Data Server 上注册任务后,我看到了许多参数,我想这些参数是自动添加的。我的意思是参数,例如:

和别的...

是否有可能以某种方式隐藏(或删除)它们,以便在启动任务时我只能配置那些由我添加的参数(我上面的示例中的单个主机属性)?

0 投票
1 回答
100 浏览

spring - 运行示例源时的Spring云数据流DestinationReslutionException

我在运行示例 spring-cloud-dataflow 源应用程序时遇到问题。应用程序以代码 0 退出(它应该可以工作)。我对其进行了调试,并注意到引发了以下异常:

我正在关注入门指南http://docs.spring.io/spring-cloud-stream/docs/current/reference/htmlsingle/index.html#_getting_started,但我无法让它工作。我做了什么: - 我有动物园管理员工作;- 我有卡夫卡工作;

编码:

和pom:

命令行参数:--spring.cloud.stream.bindings.output.destination=test

我可以提供有关异常的更多详细信息:

0 投票
1 回答
777 浏览

apache-kafka - 使用 Spring Cloud Dataflow 和 Kafka 流式传输 CSV 文件

我正在尝试使用 Spring Cloud 数据流和 Kafka 流式传输 csv 文件。这个想法是逐行流式传输文件,每行都包含标题。例如,如果我的 csv 文件的内容是

然后流数据应采用以下格式(期望输出)

我正在使用FileSplitter将消息传递到输出通道。

我目前得到的输出是

0 投票
1 回答
703 浏览

java - Spring Cloud Dataflow Local Server 需要连接zookeeper吗?

我正在尝试在 docker 容器上设置 scdf。

所有容器都在一个网络中

两个kafka通过2181端口暴露

我确信kafka正在连接到zookeeper。(如果没有,它们将不会正常启动)

但是在创建简单流的过程中

我在stdout_0.log代表log应用程序日志的文件中获得了这些日志。

stderr_1.log,我有

第一个日志说我正在使用localhost:0.0.0.0:2181zookeeper连接,我不是,我已经为kafka配置了真实 IP 地址。

第二个日志说连接超时10000,在 kafka 中,我将连接超时设置为6000

所以这些不是来自kafka,而是来自scdf

事实是,当我查找scdf 链接的参考时,这里说,动物园管理员在这个架构中没有使用(或者可能没有直接使用)。

这让我感到困惑......如果这些日志不是来自kafka而不是来自scdf,那么它们来自哪里?

如果scdf确实使用zookeeper,那么如何配置zookeeper的连接?

更新

我正在考虑当scdf尝试创建主题时,根据我对创建主题的了解,您必须指定 zookeeper 连接,scdf使用localhost作为生产者消费者zookeeper上注册,因此scdf实际上以某种方式使用zookeeper . 但是如何配置呢?

0 投票
1 回答
262 浏览

java - Spring Cloud DataFlow - 如何在 TCP 源代码中使用自定义 TCP 编码器/解码器

我已经为 Spring XD 提出了这个问题。我现在正在尝试迁移到 Spring CDF。

我找到了这个链接,并尝试在那里重用代码并用我的代码更改编码。

我创建了以下 POM:

配置:

这个FactoryBean:

BerEncoding 是一个简单的枚举,而 TcpBerSourceProperties 非常简单。

这是正确的方法吗?

如果是,我该如何运行它?我在提到的链接上找到的作为 Spring Boot 独立应用程序运行的 tcp 流应用程序启动器上的任何地方都看不到 @SpringBootApplication?