问题标签 [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.
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 的问题。给定的配置被传递给部署者,应用程序被有效地部署。
我会为它写一个答案。
hadoop - 如何使用 Spring DataFlow 部署自治应用程序?
我的应用程序配置为从已配置的 Kafka 中读取主题,然后将转换后的结果写入 Hadoop HDFS。为此,它需要在 Yarn 集群节点上启动。
为此,我们想使用 Spring DataFlow。但是由于这个应用程序不需要来自另一个流的任何输入(它已经知道从哪里拉它的源),并且什么也不输出,我如何从中创建一个有效的 DataFlow 流?换句话说,这将是一个仅由一个应用程序组成的流,它应该在 Yarn 节点上无限期地运行。
spring - Spring Dataflow 概念说明
我开始使用 Spring Dataflow,发现自己遇到了一些我无法回答的问题,阅读了文档并进行了一些测试。欢迎任何澄清(如果您不能一次回答所有问题,请回答您可以回答的问题,如果需要,我会合并完整的答案)
Spring Dataflow 旨在编写应用程序工作流,例如: 的输出
app A
是 的输入app B
,等等。工作流程不需要是线性的,因为 的输出app A
可能是 和 的app B
输入app C
。那准确吗?流水线中的应用程序以“消息驱动”的方式进行通信,这一点写得很好。
App A
将消息发送到代理(例如 RabbitMQ 或 Kafka),并app B
从中使用消息。我们的流程中可以有多个不同的经纪人。但是消息传递是在应用程序之间发送信息的唯一方式吗?例如,是否可以通过 HTTP REST 请求进行app A
调用?app B
如果是这样,如何?由于应用程序依赖于异步消息传递(参见上面的问题),Dataflow 的附加值是什么?我的意思是,如果您配置
app A
为向foo
主题发送消息,并app B
使用来自同一主题的消息,您可以分别部署两者(没有数据流),它会工作。据我了解,Dataflow 只提供了一种一次性部署和取消部署它们的方法,而不是一个接一个。那是对的吗 ?与上一个问题一样,异步消息传递将您从定义流顺序中抽象出来(即您可以
app B
在之前开始app A
)。整个系统只有在两个应用程序都启动时才能工作,但它们甚至不需要相互了解。唯一需要的是他们使用相同的代理和主题,一个发送消息,另一个获取消息。那么,为什么您绝对需要在 Spring Cloud Dataflow 中将一个应用程序的输出链接到另一个应用程序的输入?这是一种强制两个应用程序使用相同主题的方法,但仅此而已吗?
hadoop-yarn - 使用 Spring Cloud Dataflow 部署到 YARN
将流部署到远程 YARN 集群时,我从 YARN UI 收到以下错误:
该文件存在于 Dataflow 服务器端,包含以下数据:
据我了解,此错误来自尝试访问配置文件的已部署容器。我不能理解的是这个配置文件什么时候应该被复制到 YARN 中?
这可能很明显,但这很难调试,不知道这一点。此外,如果有帮助,这里是 YARN 日志:
kubernetes - Spring Cloud Data Flow:任务无法在 Kubernetes 集群上启动
我已经在本地 Kubernetes 集群上部署了 Spring Cloud Data Flow 服务器。一切似乎都很好。然后我创建一个类型为 的 App Task
,给出 Spring-Boot JAR 的 URL。然后我创建一个任务“定义”并启动它。任务定义挂起状态为“正在启动”。
以下是我的发现:
查看 Kubernetes,我看到与正确创建但无法启动的任务对应的 pod,状态为
ImagePullBackOff
此 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
我连接到 SCDF 服务器 pod shell,检查
/tmp
文件夹,然后查看deployer-resource-cache5494152820122807128
那里的文件夹。
我的理解是 SCDF 创建了一个要在 Kubernetes pod 中执行的临时图像,但是这个图像是在scdf服务器 pod 中创建的,所以它显然不能从任务 pod 中获得。
我的问题是这应该如何工作?
在我看来,图像应该被推送到注册表,或者以某种方式存储在共享卷上,但我在文档中没有找到任何关于该主题的内容。任何想法或建议将不胜感激。
spring-cloud - 如何使用自定义参数正确创建 Spring Cloud Task?
根据这里的示例(实际上是时间戳任务),我实现了一个小任务类:
然后我创建了 Properties 类(在同一个包中)
但是在我在本地 Spring Cloud Data Server 上注册任务后,我看到了许多参数,我想这些参数是自动添加的。我的意思是参数,例如:
和别的...
是否有可能以某种方式隐藏(或删除)它们,以便在启动任务时我只能配置那些由我添加的参数(我上面的示例中的单个主机属性)?
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
我可以提供有关异常的更多详细信息:
apache-kafka - 使用 Spring Cloud Dataflow 和 Kafka 流式传输 CSV 文件
我正在尝试使用 Spring Cloud 数据流和 Kafka 流式传输 csv 文件。这个想法是逐行流式传输文件,每行都包含标题。例如,如果我的 csv 文件的内容是
然后流数据应采用以下格式(期望输出)
我正在使用FileSplitter将消息传递到输出通道。
我目前得到的输出是
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:2181
zookeeper连接,我不是,我已经为kafka配置了真实 IP 地址。
第二个日志说连接超时为10000,在 kafka 中,我将连接超时设置为6000
所以这些不是来自kafka,而是来自scdf。
事实是,当我查找scdf 链接的参考时,这里说,动物园管理员在这个架构中没有使用(或者可能没有直接使用)。
这让我感到困惑......如果这些日志不是来自kafka而不是来自scdf,那么它们来自哪里?
如果scdf确实使用zookeeper,那么如何配置zookeeper的连接?
更新
我正在考虑当scdf尝试创建主题时,根据我对创建主题的了解,您必须指定 zookeeper 连接,scdf使用localhost作为生产者或消费者在zookeeper上注册,因此scdf实际上以某种方式使用zookeeper . 但是如何配置呢?