如何在 Spring Cloud Dataflow "Cloudfoundry" 服务器启动时引用本地 Kafka 和 Zookeeper 配置
How to reference local Kafka and Zookeeper config on Spring Cloud Dataflow "Cloudfoundry" server start
这是我到目前为止在 SCDF 本地服务器上成功完成的事情
- 我已经在我的本地成功部署了 SCDF 服务器,我还使用了 Kafka 和 Zookeeper 配置参数,即
mymac$ java -jar spring-cloud-dataflow-server-local-1.3.0.RELEASE.jar
--spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.brokers=localhost:9092
--spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.zkNodes=localhost:2181
我能够创建我的流
ingest = producer-app > :broker1
filter = :broker1 > filter-app > :broker2
现在我需要帮助才能在 PCFDev 上做完全相同的事情
- 我有我的 PCFDEv 运行
- 我必须将带有本地 kafka 和 zookeeper 参数的 SCDF-Cloudfoundry jar 部署到 pcfDev,但是当我执行以下步骤时,它会给我一个错误
1.1) cf push -f manifest-scdf.yml --no-start -p /XXX/XXX/XXX/spring-cloud-dataflow-server-cloudfoundry-1.3.0.BUILD-SNAPSHOT.jar - k 1500M
运行良好...没问题。但是 1.2
1.2) cf 启动数据流服务器 --spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.brokers=host.pcfdev.io:9092 --spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.zkNodes=host.pcfdev.io:2181
给我这个错误:--
不正确的用法:未知标志`spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.brokers'
下面是我的清单-scdf.yml 文件
---
instances: 1
memory: 2048M
applications:
- name: dataflow-server
host: dataflow-server
services:
- redis
- rabbit
env:
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_URL: https://api.local.pcfdev.io
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_ORG: pcfdev-org
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_SPACE: pcfdev-space
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_DOMAIN: local.pcfdev.io
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_USERNAME: admin
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_PASSWORD: admin
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_SKIP_SSL_VALIDATION: true
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_STREAM_SERVICES: rabbit
MAVEN_REMOTE_REPOSITORIES_REPO1_URL: https://repo.spring.io/libs-snapshot
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_DISK: 512
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_STREAM_BUILDPACK: java_buildpack
spring.cloud.deployer.cloudfoundry.stream.memory: 400
spring.cloud.dataflow.features.tasks-enabled: true
spring.cloud.dataflow.features.streams-enabled: true
请帮助我。谢谢。
您看到的错误来自 CF CLI,它正在解释您作为标志提供给 cf start
命令的那些(我假设是环境)变量并失败。
您可以在 manifest.yml
中提供它们,也可以使用 CLI 的 cf set-env
命令手动设置它们的值,方法如下:
cf set-env dataflow-server spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.brokers host.pcfdev.io:9092
cf set-env dataflow-server spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.zkNodes host.pcfdev.io:2181
在你设置它们之后,当你 运行 cf start dataflow-server
.
相关 CLI 文档:
http://cli.cloudfoundry.org/en-US/cf/set-env.html
在 PCF 中向 Stream-apps 提供 Kafka 凭据的选项很少。
1。 Kafka CUP
此选项允许您为外部 Kafka 服务创建 CUP。在部署流时,您可以为每个应用程序单独提供坐标,如 docs or you can supply them as global properties 中所述,对于 SCDF 服务器部署的所有流应用程序。
2。内联属性
除了从 CUP 中提取,您还可以在部署流时直接提供 HOST/PORT。同样,这也可以在全球范围内应用。
stream deploy myTest --properties "app.*.spring.cloud.stream.kafka.binder.brokers=<HOST>:9092,app.*.spring.cloud.stream.kafka.binder.zkNodes=<HOST>:2181
注意:流应用程序必须可以访问主机; o'wise,它将继续连接到本地主机并可能失败,因为应用程序 运行 在 VM 中。
这是我到目前为止在 SCDF 本地服务器上成功完成的事情
- 我已经在我的本地成功部署了 SCDF 服务器,我还使用了 Kafka 和 Zookeeper 配置参数,即
mymac$ java -jar spring-cloud-dataflow-server-local-1.3.0.RELEASE.jar --spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.brokers=localhost:9092 --spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.zkNodes=localhost:2181
我能够创建我的流
ingest = producer-app > :broker1
filter = :broker1 > filter-app > :broker2
现在我需要帮助才能在 PCFDev 上做完全相同的事情
- 我有我的 PCFDEv 运行
- 我必须将带有本地 kafka 和 zookeeper 参数的 SCDF-Cloudfoundry jar 部署到 pcfDev,但是当我执行以下步骤时,它会给我一个错误
1.1) cf push -f manifest-scdf.yml --no-start -p /XXX/XXX/XXX/spring-cloud-dataflow-server-cloudfoundry-1.3.0.BUILD-SNAPSHOT.jar - k 1500M
运行良好...没问题。但是 1.2
1.2) cf 启动数据流服务器 --spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.brokers=host.pcfdev.io:9092 --spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.zkNodes=host.pcfdev.io:2181
给我这个错误:--
不正确的用法:未知标志`spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.brokers'
下面是我的清单-scdf.yml 文件
---
instances: 1
memory: 2048M
applications:
- name: dataflow-server
host: dataflow-server
services:
- redis
- rabbit
env:
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_URL: https://api.local.pcfdev.io
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_ORG: pcfdev-org
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_SPACE: pcfdev-space
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_DOMAIN: local.pcfdev.io
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_USERNAME: admin
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_PASSWORD: admin
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_SKIP_SSL_VALIDATION: true
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_STREAM_SERVICES: rabbit
MAVEN_REMOTE_REPOSITORIES_REPO1_URL: https://repo.spring.io/libs-snapshot
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_DISK: 512
SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_STREAM_BUILDPACK: java_buildpack
spring.cloud.deployer.cloudfoundry.stream.memory: 400
spring.cloud.dataflow.features.tasks-enabled: true
spring.cloud.dataflow.features.streams-enabled: true
请帮助我。谢谢。
您看到的错误来自 CF CLI,它正在解释您作为标志提供给 cf start
命令的那些(我假设是环境)变量并失败。
您可以在 manifest.yml
中提供它们,也可以使用 CLI 的 cf set-env
命令手动设置它们的值,方法如下:
cf set-env dataflow-server spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.brokers host.pcfdev.io:9092
cf set-env dataflow-server spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.zkNodes host.pcfdev.io:2181
在你设置它们之后,当你 运行 cf start dataflow-server
.
相关 CLI 文档: http://cli.cloudfoundry.org/en-US/cf/set-env.html
在 PCF 中向 Stream-apps 提供 Kafka 凭据的选项很少。
1。 Kafka CUP
此选项允许您为外部 Kafka 服务创建 CUP。在部署流时,您可以为每个应用程序单独提供坐标,如 docs or you can supply them as global properties 中所述,对于 SCDF 服务器部署的所有流应用程序。
2。内联属性
除了从 CUP 中提取,您还可以在部署流时直接提供 HOST/PORT。同样,这也可以在全球范围内应用。
stream deploy myTest --properties "app.*.spring.cloud.stream.kafka.binder.brokers=<HOST>:9092,app.*.spring.cloud.stream.kafka.binder.zkNodes=<HOST>:2181
注意:流应用程序必须可以访问主机; o'wise,它将继续连接到本地主机并可能失败,因为应用程序 运行 在 VM 中。