A cluster can be created by installing Vidispine on multiple servers and configuring all instances to connect to the same database.
The one setting that should be set is the bindAddress, which an instance will bind to and publish to the other members of the cluster.
cluster: bindAddress: vs1.example.com
You can also change the address that is published, for example if there’s a firewall with port forwarding rules set up in front of each server.
cluster: bindAddress: vs1.example.com bindPort: 7800 bindPortRange: 0 externalAddress: fw.example.com externalPort: 7801
For this to work you also need to use an external ActiveMQ instance, so make sure that the embedded broker is disabled and that the configuration points to your ActiveMQ instance:
broker: url: tcp://activemq.example.com:61616 #embeddedBroker: broker:(tcp://localhost:61616)
Quick cluster setup¶
It is also possible to create a cluster on a single machine by starting multiple server processes each with a different configuration file.
$ cp server.yaml instanceA.yaml instanceB.yaml $ vi instanceA.yaml instanceB.yaml
Make sure that all instances have distinct ports. Then start the instances that are to be part of the cluster:
$ java -jar vidispine-server.jar server instanceA.yaml 2>&1 1>instanceA.log & $ java -jar vidispine-server.jar server instanceB.yaml 2>&1 1>instanceB.log &
Tail the log and you should see that the processes have found each other and have formed a cluster.
INFO [2015-05-27 13:06:27,652]  org.infinispan.remoting.transport.jgroups.JGroupsTransport: ISPN000094: Received new cluster view: [di2-37999|1] [di2-37999, di2-55654]