首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring云流:在spring云数据流服务器cf上流部署失败。

spring云流:在spring云数据流服务器cf上流部署失败。
EN

Stack Overflow用户
提问于 2016-11-10 08:41:45
回答 1查看 1K关注 0票数 0

在我们的用例中,我们需要创建消息流应用程序并将其部署到我们的私有云创建环境中。流应用程序用于侦听RabbitMq队列,并触发流中定义的任务。

为了达到同样的目的,我们通过在Mac上本地运行cloud-dataflow-server-cloudfoundry来使用它。

以下是实现这一目标的一组命令:

  • 设置Maven远程回购export MAVEN_REMOTE_REPOSITORIES_REPO1_URL=https://ftl.abc.com/NEXUS
  • 安装云铸造目的地- 出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_URL=https://api.paas.abc-intl.com/出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_ORG=Paas-Apps出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_DOMAIN=paas.abc-intl.com出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_DOMAIN=paas.abc-intl.com出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_USERNAME=abc@xyz.com出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_PASSWORD=password出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_SKIP_SSL_VALIDATION=true出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_STREAM_SERVICES=rabbitmq_server出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_STREAM_BUILDPACK=java_buildpack_offline出口春季_CLOUD_DEPLOYER_CLOUDFOUNDRY_STREAM_MEMORY=512出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_TASK_MEMORY=512出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_URL=https://api.paas.abc-intl.com/出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_ORG=Paas-Apps出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_SPACE=DEV出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_DOMAIN=paas.abc-intl.com出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_USERNAME=abc@xyz.com出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_PASSWORD=password出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_SKIP_SSL_VALIDATION=true出口出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_STREAM_BUILDPACK=java_buildpack_offline出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_STREAM_MEMORY=512出口SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_TASK_MEMORY=512
  • 启动数据流服务器-
代码语言:javascript
复制
1. Build [Dataflow Server CF](https://github.com/spring-cloud/spring-cloud-dataflow-server-cloudfoundry) with spring cloud properties as:
代码语言:javascript
复制
    - spring.name=dataflow
    - spring.cloud.config.uri=[http://localhost:8888](http://localhost:8888/)
    - spring.cloud.dataflow.features.tasksEnabled=true
    - spring.cloud.dataflow.features.streamsEnabled=true
    - spring.cloud.deployer.cloudfoundry.task.taskTimeout=360

代码语言:javascript
复制
1. Start DF Server CF locally - `java -Djavax.net.ssl.trustStore=/Users/apache-maven-3.3.9/conf/keystore.jks -Djavax.net.ssl.trustStorePassword=password  -jar spring-cloud-dataflow-server-cloudfoundry-1.1.0.BUILD-SNAPSHOT.jar`

  • 启动DF外壳
  • 导入入门应用程序- stream-applications-rabbit-maven
  • 注册应用程序-
    1. app register --name task-processor --type processor --uri maven://org.springframework.cloud.stream.app:tasklaunchrequest-transform-processor-rabbit:jar:1.1.0.BUILD-SNAPSHOT
    2. app register --name task-launcher-local --type sink --uri maven://org.springframework.cloud.stream.app:task-launcher-local-sink-rabbit:jar:1.0.4.RELEASE

  • 创建和部署流- stream create myMessageStream --definition "rabbit --rabbit.queues=cloud-stream-source --rabbit.requeue=true --spring.rabbitmq.host=host.abc.com --spring.rabbitmq.port=5672 --spring.cloud.stream.bindings.output.contentType='text/plain' | task-processor --uri=maven://com.example:thumbnail-generator:0.0.1-SNAPSHOT | task-launcher-local" --deploy

但是,部署在TimeoutException中失败,但在Dataflow服务器日志或应用程序的日志中都没有明确的原因。

云铸造空间中创建的应用程序都在CF控制台上显示已停止的

这让我不知所措,我对此有几个问题来理解可能的根本原因:

  1. 如果流部署成功,那么由Stream部署到CF的应用程序的状态如何?这些是否在开始或停止时出现?
  2. 已部署应用程序的名称中嵌入了两个随机单词,例如dataflow-nonvaluable-overapprehension-myMessageStream-rabbit.据我理解,这是给Dataflow Server实例指定的名称,并被插入以进行引用。有办法定制这个名字吗?这将使我能够提前知道应用程序的名称,然后在它们的日志上运行一个尾。

任何想法/帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-10 09:22:41

如果流部署成功,那么由Stream部署到CF的应用程序的状态如何?这些是开始出现还是停止出现?

stream list命令将显示状态。如果流部署成功,状态应该是deployed

已部署应用程序的名称中嵌入了两个随机单词,例如dataflow-nonvaluable-overapprehension-myMessageStream-rabbit.据我理解,这是给Dataflow Server实例指定的名称,并被插入以进行引用。有办法定制这个名字吗?这将使我能够提前知道应用程序的名称,然后在它们的日志上运行一个尾。

您可以通过执行:export SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_STREAM_ENABLE_RANDOM_APP_NAME_PREFIX=false禁用此属性来覆盖应用程序名称中的随机名称生成。

您可以使用部署器属性控制应用程序名,该属性设置特定的prefix

export SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_STREAM_APP_NAME_PREFIX=myprefix

您可以尝试增加部署器属性SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_STREAM_STAGING_TIMEOUTSPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_STREAM_STARTUP_TIMEOUT,以查看应用程序是否需要更多的时间来启动/启动。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40523214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档