Note
This documentation is for OMERO 5.2. This version is now in maintenance mode and will only be updated in the event of critical bugs or security concerns. OMERO 5.3 is expected before the end of 2016.
Clustering an OMERO instance consists of starting multiple OMERO.blitz servers with each allocating user sessions based on some criteria. There are at least two reasons you may want to cluster the OMERO server: availability and throughput.
Having the ability to have two servers up at the same time implies that even if you have to restart one of the servers, there should be no down-time. Currently, OMERO sessions are sticky to a cluster node and so it is not possible shutdown a node at any time. All new sessions can be redirected to the server which is to be left turned on however, then when all active sessions have completed, the chosen server can be shutdown.
The other main reason to have other servers running is to service more user sessions simultaneously. Out of the box, each OMERO.blitz process is configured for 400MB of memory. When dealing with memory intensive operations like rendering, each added server can make a positive difference. This is only a part of the story, since much of the bottleneck is not the server itself but other shared resources, like the database or the filesystem, and so to further extend throughput, you will need to parallelize these.
If you are using the default OMERO.grid application descriptor quickly enabling clustering is as simple as executing:
bin/omero config set omero.cluster.redirector configRedirector
bin/omero node backup start
This starts a second node, named “backup”, which contains a second OMERO.blitz server, “Blitz-1”. By default, this newly created server will not be used until sessions are manually redirected to it.
See also