Проблемы Apache NiFi Distribute Map Cache в кластере - PullRequest
0 голосов
/ 06 сентября 2018

Я переместил поток, который работал на NiFi-узле с одним узлом, в кластер NiFi-узлов с 3 узлами, и неожиданно процессор ожидания, использующий DistributedMapCache, не работает должным образом, это означает, что он не смог восстановитьзначение из кеша.Чтобы убедиться, что значение существует в кеше, я настроил кэш для использования постоянного каталога, поэтому я смог проверить содержимое кеша, после некоторого тестирования понял, что:

  • Кешбыл записан в узле с потоком, который записывает в кэш (DistributedMapCacheClientService указывает на localhost)
  • Клиент может восстанавливать только те значения, которые находятся в одном узле.

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

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

Итак, мои вопросы:

  • Действительно ли DistributedMapCache распределен по кластеру?
  • Могу ли я упустить какую-то точку или что-то неверно настроить?

1 Ответ

0 голосов
/ 06 сентября 2018

Вы не должны использовать localhost в DistributedMapCacheClientService, просто используйте имя хоста одного из узлов, тогда все ваши клиенты будут указывать на один и тот же сервер.

...