SCDF Spring Cloud Data Fflow - проблемы с потоком запуска задач - обнаружена несовместимая версия сервера потока данных - PullRequest
0 голосов
/ 19 февраля 2020

Создаю поток с sftp-dataflow в качестве источника (sftp-dataflow-source-kafka: 2.1.1.RELEASE), связанный с task-launcher-dataflow (task-launcher-dataflow-sink-kafka: 1.0.2. ВЫПУСК) как раковина. Цель состоит в том, чтобы запустить задачу, которая является пакетным заданием.

Моя платформа SCDF содержит: Skipper-сервер версии 2.3.0, dataflow-server 2.4.0 и kafka, развернутые в качестве докеров.

Источник sftp отправляет сообщение на панель запуска задач, и панель запуска имеет исключение:

Не удалось создать экземпляр [org.springframework.cloud.dataflow.rest.client.DataFlowOperations]: метод Factory исключение dataFlowOperations; вложенное исключение: java .lang.IllegalStateException: обнаружена несовместимая версия сервера потока данных.

Все мои компоненты находятся в последних версиях.

Чтобы создать поток может:

stream create testStreamSftpDataflowlaunch1 --definition "sftp-dataflow --local-dir=/tmp/local-files1 --remote-dir=/data/docker/containers/SCDF/dockerSCDF/tmp/remote-files1 --password=docker* --allow-unknown-keys=true --username=docker --host=slnxdalicrprp03.mano.es.sopra --task-name=batchEODTask --logging.level.org.springframework.integration=DEBUG --task.launch.request.taskName=batchEODTask | task-launcher-dataflow --server-uri=http://slnxdalicrprp03******:57102" (skipper-server;port)

Другое дело, я не понимаю, как программа запуска может выполнить задачу, потому что имя задачи не передается программе запуска через сообщение. Например, у нас есть имя файла и другие свойства

сообщение: GenericMessage [payload = / tmp / local-files1 / FMO.txt, заголовки = {file_originalFile = / tmp / local-files1 / FMO .txt, id = 7447a3ab-cd0e-17c2-181d-7b0f5cb85d78, file_name = FMO.txt, file_relativePath = FMO.txt, отметка времени = 1582106812595}] 2020-02-19 10: 06: 52.961 DEBUG 233 --- [ask- scheduler-1] osieSourcePollingChannelAdapter: Опрос привел к сообщению: GenericMessage [payload = / tmp / local-files1 / FMO2.txt, заголовки = {file_originalFile = / tmp / local-files1 / FMO2.txt, id = b0fc3c02-a3e2-248- aa5b-68f9db6b6973, file_name = FMO2.txt, file_relativePath = FMO2.txt, отметка времени = 1582106812961}] 2020-02-19 10: 06: 52.962 DEBUG 233 --- [ask-scheduler-1] osintegration.channel.DirectChannel: preSend на канале taskLaunchRequestChannel

Когда я запускаю пример SCDF в документации с ingestFile, у нас возникает та же проблема.

У вас есть идея?

1 Ответ

0 голосов
/ 19 февраля 2020

В этом посте много всего. Я попытаюсь распаковать несколько вещей здесь.

Источник sftp отправляет сообщение на панель запуска задач, и у программы запуска есть исключение: Не удалось создать экземпляр [org.springframework.cloud.dataflow.rest .client.DataFlowOperations]: метод фабрики 'dataFlowOperations' вызвал исключение; вложенное исключение: java .lang.IllegalStateException: обнаружена несовместимая версия сервера потока данных.

Похоже, что приемник TL-Dataflow связан с довольно старой клиентской библиотекой SCDF - см. tasklauncher -dataflow-приложение-зависимости / pom.xml # L20 . Вы можете обновить версию до 2.4.0.RELEASE (то же самое, что и SCDF, который у вас уже запущен), и собрать приложение , а также локальный docker образ для вашего тестирования / использования.

Другое дело, я не понимаю, как программа запуска может выполнить задачу, потому что имя задачи не передается программе запуска через сообщение.

Если вы обратите внимание на документы TL-Dataflow, вы заметите, что input (aka payload) принимается как JSON с определенными парами ключ / значение. name является критическим битом. Это имя определения задачи, которое уже существует в SCDF. У нас есть сквозной рецепт , который полностью просматривает сценарий использования, который вы можете использовать в качестве справочного материала и следовать ему.

Недавно мы также добавили усовершенствование в функцию auto. -создать определение задачи (если его нет). name должно совпадать с именем существующего приложения-задачи в реестре приложения - см. spring-cloud-stream-app-starters / tasklauncher-dataflow # 24 .

Я считаю, что это охватывает актуальные вопросы в этом посте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...