Я переместил поток, который работал на NiFi-узле с одним узлом, в кластер NiFi-узлов с 3 узлами, и неожиданно процессор ожидания, использующий DistributedMapCache, не работает должным образом, это означает, что он не смог восстановитьзначение из кеша.Чтобы убедиться, что значение существует в кеше, я настроил кэш для использования постоянного каталога, поэтому я смог проверить содержимое кеша, после некоторого тестирования понял, что:
- Кешбыл записан в узле с потоком, который записывает в кэш (DistributedMapCacheClientService указывает на localhost)
- Клиент может восстанавливать только те значения, которые находятся в одном узле.
Другим тестом было принудительное выполнение потоков в первичном узле, в этом случае все работает, как и ожидалось.
Другой тест состоял в том, чтобы записать кэш со всех узлов одновременно, работал только для основногоузел.
Итак, мои вопросы:
- Действительно ли DistributedMapCache распределен по кластеру?
- Могу ли я упустить какую-то точку или что-то неверно настроить?