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 downtime. Currently, OMERO sessions are sticky to a cluster node so it is not possible to shut down a node at any time. However, all new sessions can be redirected to the server that is to be left turned on. When all active sessions have completed, the chosen server can be shut down.
The other main reason to have other servers running is to service more user sessions simultaneously. 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. To further extend throughput you will need to parallelize these.
omero config set omero.cluster.redirector configRedirector 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.
A read-only server disallows many operations while still permitting
users to log in and retrieve data. Prohibitions for users of read-only
servers include that they may not import data or run scripts. Two
properties control read-only configuration:
omero.cluster.read_only.db for the database and
omero.cluster.read_only.repo for the binary repository.
Read-only access to the database assumes that
commands cannot be used over a JDBC connection. Read-only access to the
binary repository assumes that filesystem changes cannot be made within
any of the standard OMERO directories. In all cases OMERO’s
TempFileManager expects write access to the volatile
storage location that
OMERO_TMPDIR can be used to configure.
For each of these configuration properties the server assumes read-write
access by default or with a
false setting. Set a property to
true to have the server treat the corresponding resource as being
read-only. Additionally, without a
true setting the server may log a
warning and regard a resource as being in read-only mode if it discovers
that it does not have write access. The currently effective values are
provided by the configuration service as
omero.pixeldata.memoizer.dir.local to a read-write
directory allows a read-only server to create and use the Bio-Formats
memo files that cache reader state. The server still checks the default
BioFormatsCache/ directory in the read-only binary repository
for existing memo files that it can copy to this local directory.
$ omero config set omero.cluster.read_only.db true $ omero config set omero.cluster.read_only.repo true $ omero config set omero.pixeldata.memoizer.dir.local /tmp/BioFormatsCache
If the deprecated configuration property
omero.cluster.read_only is set to
true then the
server behaves as if all
were set to
true regardless of any other value that they have.