Elasticsearch

Elasticsearch(ES) is required by Flowable Engage as an index server for fast data listing and search operations. The index is just a copy of the data in the database and might be rebuilt from there if needed.

The currently recommended version of Elasticsearch for Flowable Engage is 6.x

You will need at least one Elasticsearch node to be able to startup the Flowable Engage server. However, it is not recommended to operate a productive setup with just one ES node but with at least a cluster of the following nodes:

Type

CPU

RAM

Disk

Node1

master/data

8

32 GB

1 TB

Node2

master/data

8

32 GB

1 TB

Node3

master/data

8

32 GB

1 TB

General recommendations for clustering Elasticsearch are:

  • The number of master-eligible nodes should always be odd to avoid split brain problems.

  • Nodes should have not more than 32 GB of RAM on each node. With higher RAM sizes the garbage collector is not efficient. Set the heap size to a third of the machine RAM (in this case, 10 to 12 GB). It can be set higher but no more than 28 GB.

  • It is better to have more smaller machines than just a few big machines.

  • It is inefficient to have master-only nodes if the clusters are small (<10 nodes).

  • Coordinating-only (HTTP) nodes are only relevant for huge clusters (~32 nodes).

  • The default number of Shards per Elasticsearch node is 5 and 1 replica. We recommend keeping this value unless you know have reason to change it and understand the consequences.

In addition to Elasticsearch itself you may need a plugin to enable security features such as SSL/TLS encryption and to restricted access. The recommended alternatives are:

  • X-Pack: Elastic’s official security implementation.

  • SearchGuard: An alternative plugin with multiple licensing models.