How does one setup a Distributed Map Cache for NiFi?

Dan picture Dan · Jun 16, 2017 · Viewed 12.7k times · Source

I'm brand new to NiFi and simply playing around with processors.

I'm trying to incorporate Wait and Notify processors in my testing, but I have to setup a Distributed Map Cache (server and client?).

The NiFi documentation assumes a level of understanding that I do not have.

I've installed memcached on my computer (macOS) and verified that it's running on Port 11211 (default). I've created a DistributedMapCacheClientService and DistributedMapCacheServer under NiFi's CONTROLLER SERVICES, but I'm getting java.net.SocketTimeoutException & other errors.

Is there a good tutorial on this entire topic? Can someone suggest how to move forward?

Answer

daggett picture daggett · Jun 16, 2017

the DistributedMapCacheClientService and DistributedMapCacheServer does not require additional software.

To create these services, right-click on the canvas, select Configure and then select the Controller Services tab. You can then add new services by clicking the + button on the right and searching by name.

  1. create DistributedMapCacheServer with default parameters (port 4557) and enable it. this will start built-in cache server.

  2. create DistributedMapCacheClientService with hostname localhost and other default parameters and enable it

  3. create a simple flow GenerateFlowFile set the run schedule and not zero bytes size in parameters. connect it to PutDistributedMapCache set Entry Identifier as Key01 and choose your DistributedMapCacheClientService

try to run it. and if port 4557 not used by other software the put cache should work. enter image description here