0

这是我迄今为止在 SCDF 本地服务器上成功完成的工作

  1. 我已经在我的本地成功部署了 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

我能够创建我的流

  1. ingest = producer-app > :broker1

  2. filter = :broker1 > filter-app > :broker2


现在我需要帮助才能在 PCFDev 上做同样的事情

  1. 我的 PCFDEv 正在运行
  2. 我必须将带有本地 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 start dataflow-server --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”

下面是我的 manifest-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        

请帮我。谢谢你。

4

2 回答 2

2

向 PCF 中的 Stream-apps 提供 Kafka 凭据的选项很少。

1. 卡夫卡杯

此选项允许您为外部 Kafka 服务创建 CUP。在部署流时,您可以按照文档中的描述单独为每个应用程序提供坐标,或者您可以将它们作为全局属性提供给 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,它会继续连接到 localhost 并且可能会失败,因为应用程序在 VM 中运行。

于 2018-02-12T16:00:09.483 回答
0

cf start您看到的错误来自 CF CLI,它正在解释您作为标志提供给命令并失败的那些(我假设是环境)变量。

您可以通过执行以下操作在您的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

于 2018-02-12T04:38:19.617 回答