0

我一直在学习使用 spring-cloud-dataflow 创建流的教程。它创建以下流 -

http --port=7171 | transform --expression=payload.toUpperCase() | file --directory=c:/dataflow-output

所有三个应用程序都可以正常启动。我正在使用rabbitMQ,如果我登录到rabbit UI,我可以看到为流创建了两个队列。该教程说我应该能够使用邮递员向http://localhost:7171 发布消息。当我这样做时,什么也没有发生。我没有得到响应,我在队列中看不到任何东西,也没有创建文件。在我的数据流日志中,我可以看到它被列出。

local: [{"targets":["skipper-server:20060","skipper-server:20052","skipper-server:7171"],"labels":{"job":"scdf"}}]

本教程使用的是旧版本的数据流,我不相信它使用了船长。由于我使用的是船长,这会改变网址吗?我尝试了 http://skipper-server:7171http://localhost:7171但这些似乎都没有到达端点。我确实在邮递员设置中关闭了 SSL 证书验证。

很抱歉这周问了这么多数据流问题。提前致谢。

4

1 回答 1

0

我发现我试图访问的端口(7171)在我的船长服务器上没有暴露。我必须在我的 .yml 文件中的船长服务器配置上添加和公开端口。我发现这篇文章让我知道了。

如何将 HTTP 请求发送到在 docker 容器中运行的服务器?

skipper-server:
    image: springcloud/spring-cloud-skipper-server:2.1.2.RELEASE
    container_name: skipper
    expose:
      - "7171"
    ports:
      - "7577:7577"
      - "9000-9010:9000-9010"
      - "20000-20105:20000-20105"
      - "7171:7171"
    environment:
      - SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_LOCAL_ACCOUNTS_DEFAULT_PORTRANGE_LOW=20000
      - SPRING_CLOUD_SKIPPER_SERVER_PLATFORM_LOCAL_ACCOUNTS_DEFAULT_PORTRANGE_HIGH=20100
      - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:1111/dataflow
      - SPRING_DATASOURCE_USERNAME=xxxxx
      - SPRING_DATASOURCE_PASSWORD=xxxxx
      - SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.mariadb.jdbc.Driver
      - SPRING_RABBITMQ_HOST=127.0.0.1
      - SPRING_RABBITMQ_PORT=xxxx
      - SPRING_RABBITMQ_USERNAME=xxxxx
      - SPRING_RABBITMQ_PASSWORD=xxxxx
    entrypoint: "./wait-for-it.sh mysql:1111-- java -Djava.security.egd=file:/dev/./urandom -jar /spring-cloud-skipper-server.jar"
于 2019-10-11T16:31:22.643 回答