Node-RED перестает работать после добавления более трех потребителей Kafka - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь использовать темы Kafka в Node-RED, используя узел node-red-contrib-rdkafka . Для этого я последовательно добавляю соответствующие rdkafka входные узлы (подключаясь к одному и тому же брокеру) и развертываю каждый, выбирая Только измененные узлы в меню Развертывание .

Это нормально работает для трех входных узлов, однако после добавления четвертого входного узла происходит сбой Node-RED? воспроизводимо при нажатии кнопки меню Deploy .

Node-RED запускается как докер-контейнер из официального образа Node-RED на Docker Hub . Как видно из вывода консоли ниже, соответствующие записи журнала развертывания для четвертого потребителя отсутствуют:

$ docker run --rm -p1880:1880 nodered/node-red-docker 

> node-red-docker@1.0.0 start /usr/src/node-red
> node $NODE_OPTIONS node_modules/node-red/red.js -v $FLOWS "--userDir" "/data"

10 Sep 09:02:13 - [info] 

Welcome to Node-RED
===================

10 Sep 09:02:13 - [info] Node-RED version: v0.18.7
10 Sep 09:02:13 - [info] Node.js  version: v6.14.2
10 Sep 09:02:13 - [info] Linux 4.15.0-33-generic x64 LE
10 Sep 09:02:14 - [info] Loading palette nodes
10 Sep 09:02:14 - [warn] ------------------------------------------------------
10 Sep 09:02:14 - [warn] [node-red/rpi-gpio] Info : Ignoring Raspberry Pi specific node
10 Sep 09:02:14 - [warn] ------------------------------------------------------
10 Sep 09:02:14 - [info] Settings file  : /data/settings.js
10 Sep 09:02:14 - [info] User directory : /data
10 Sep 09:02:14 - [warn] Projects disabled : editorTheme.projects.enabled=false
10 Sep 09:02:14 - [info] Flows file     : /data/flows.json
10 Sep 09:02:14 - [info] Creating new flow file
10 Sep 09:02:14 - [info] Server now running at http://127.0.0.1:1880/
10 Sep 09:02:14 - [debug] loaded flow revision: d751713988987e9331980363e24189ce
10 Sep 09:02:14 - [debug] red/runtime/nodes/credentials.load : no user key present
10 Sep 09:02:14 - [debug] red/runtime/nodes/credentials.load : no default key present - generating one
10 Sep 09:02:14 - [debug] red/runtime/nodes/credentials.load : keyType=system
10 Sep 09:02:14 - [warn] 

---------------------------------------------------------------------
Your flow credentials file is encrypted using a system-generated key.

If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.

You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.
---------------------------------------------------------------------

10 Sep 09:02:14 - [info] Starting flows
10 Sep 09:02:14 - [debug] red/nodes/flows.start : starting flow : global
10 Sep 09:02:14 - [info] Started flows
10 Sep 09:03:06 - [debug] red/runtime/nodes/credentials.export : encrypting
10 Sep 09:03:06 - [debug] saved flow revision: 104fe97f482455c034c59d6ada2b0506
10 Sep 09:03:06 - [info] Stopping modified nodes
10 Sep 09:03:06 - [debug] red/nodes/flows.stop : stopping flow : global
10 Sep 09:03:06 - [info] Stopped modified nodes
10 Sep 09:03:06 - [info] Starting modified nodes
10 Sep 09:03:06 - [debug] red/nodes/flows.start : starting flow : 94de589e.3ca0d
10 Sep 09:03:06 - [info] Started modified nodes
10 Sep 09:03:06 - [rdkafka] Created consumer subscription on topic = aaa
10 Sep 09:03:15 - [debug] saved flow revision: c79908034bbcb133fe2513658a898420
10 Sep 09:03:15 - [info] Stopping modified nodes
10 Sep 09:03:15 - [debug] red/nodes/flows.stop : stopping flow : global
10 Sep 09:03:15 - [debug] red/nodes/flows.stop : stopping flow : 94de589e.3ca0d
10 Sep 09:03:15 - [info] Stopped modified nodes
10 Sep 09:03:15 - [info] Starting modified nodes
10 Sep 09:03:15 - [info] Started modified nodes
10 Sep 09:03:15 - [rdkafka] Created consumer subscription on topic = bbb
10 Sep 09:03:20 - [debug] saved flow revision: f12926c7372236cd29f3d58852c2ca1a
10 Sep 09:03:20 - [info] Stopping modified nodes
10 Sep 09:03:20 - [debug] red/nodes/flows.stop : stopping flow : global
10 Sep 09:03:20 - [debug] red/nodes/flows.stop : stopping flow : 94de589e.3ca0d
10 Sep 09:03:20 - [info] Stopped modified nodes
10 Sep 09:03:20 - [info] Starting modified nodes
10 Sep 09:03:20 - [info] Started modified nodes
10 Sep 09:03:20 - [rdkafka] Created consumer subscription on topic = ccc
10 Sep 09:03:25 - [debug] saved flow revision: 81288df5f3243d7da90970571c3dc4a3
10 Sep 09:03:25 - [info] Stopping modified nodes
10 Sep 09:03:25 - [debug] red/nodes/flows.stop : stopping flow : global
10 Sep 09:03:25 - [debug] red/nodes/flows.stop : stopping flow : 94de589e.3ca0d
10 Sep 09:03:25 - [info] Stopped modified nodes
10 Sep 09:03:25 - [info] Starting modified nodes
10 Sep 09:03:25 - [info] Started modified nodes
10 Sep 09:03:25 - [rdkafka] Created consumer subscription on topic = ddd
=== no log entries corresponding to deployment ===

Брокер Kafka запускается из официального хранилища Confluent с $ docker-compose up -d examples/cp-all-in-one. Однако такая же проблема возникает при использовании с landoop Kafka .

Самое близкое "объяснение", которое я смог найти до сих пор, это этот открытый выпуск . Но я все еще не уверен, является ли это поведение преднамеренным, и это на самом деле я нарушаю неявное ограничение или следую неправильной практике с этим подходом.

В чем может быть причина такого ограничения / поведения?

...