The minimum redundant Blueworx Platform cluster consists of 3 VMs, each installed with a subset of the Blueworx Platform packages. A cluster installed in this configuration
is designed so that any one of the VMs can have a failure and the cluster will still be able to handle calls.
It is important to note that in this minimum configuration, only one VM can be down at any one time. Should a second VM fail concurrently, calls into the platform will fail.
The diagram below shows an example of the cluster. Detailed installation and configuration instructions are also included for the example cluster and can be used as a guide when configuring
a new environment.
Overview
The minimum redundant cluster consists of 3 VMs on a shared reliable network. Using the example in the image above, each VM is installed as follows:
VM 1, hostname sys1.test.com, IP address 1.2.3.4, has the following Blueworx packages installed:
- blueworx-rm - Blueworx Resource Manager
- blueworx-db - Blueworx Configuration Profile Database
- blueworx-am - Blueworx Admin Manager
- blueworx-common - Common code and resources required by all components
VM 2, hostname sys2.test.com, IP address 1.2.3.5, has the following Blueworx packages installed:
- blueworx-rm - Blueworx Resource Manager
- blueworx-vr - Blueworx Voice Response
- blueworx-am - Blueworx Admin Manager (optional)
- blueworx-common - Common code and resources required by all components
VM 3, hostname sys3.test.com, IP address 1.2.3.6, has the following Blueworx packages installed:
- blueworx-rm - Blueworx Resource Manager
- blueworx-vr - Blueworx Voice Response
- blueworx-am - Blueworx Admin Manager (optional)
- blueworx-common - Common code and resources required by all components
Installation
Install the Blueworx Yum repository on each system as described here Installing the Blueworx Yum repository on Centos or Redhat
VM 1
Install the PostgreSQL Database as described here Installing PostgreSQL 10 Database for Blueworx CPD and follow the instructions for "Local database".
Then install the required Blueworx packages using the following commands in the order shown:
yum install blueworx-common*
yum install blueworx-rm*
yum install blueworx-db*
yum install blueworx-am*
Logout and back in to establish the Blueworx environment.
Run bdb install to install the Blueworx database into Postgres.
Validate the Blueworx Resource Manager and Blueworx Admin Manager package installation as described here Installation Validation
VM 2
Install the required Blueworx packages using the following commands in the order shown:
yum install blueworx-common*
yum install blueworx-rm*
yum install blueworx-vr*
yum install blueworx-am* (optional)
Validate the Blueworx Resource Manager, Blueworx Voice Response and, if installed, Blueworx Admin Manager package installation as described here Installation Validation
VM 3
Install the required Blueworx packages using the following commands in the order shown:
yum install blueworx-common*
yum install blueworx-rm*
yum install blueworx-vr*
yum install blueworx-am* (optional)
Configuration
VM 1 Configuration:
- $BRM_CONF/brm.config
- Update the database.main section with: url = "jdbc:postgresql://1.2.3.4/bw_db"
- $BRM_CONF/zoo.cfg
- Set the contents using either IP address or hostname as shown below:
- server.1=1.2.3.4:2888:3888
- server.2=1.2.3.5:2888:3888
- server.3=1.2.3.6:2888:3888
- or
- server.1=sys1.test.com:2888:3888
- server.2=sys2.test.com:2888:3888
- server.3=sys3.test.com:2888:3888
- $BRM_HOME/zookeeper/data_dir/myid
- Set the contents to 1
- $BRM_HOME/license/bvr.key
- The licence obtained from Blueworx
- $BAM_CONF/bam.config
- Set the address in the [BRM} section of the config to one of the following:
- address = "localhost,1.2.3.5,1.2.3.6"
- address = "localhost,sys2.test.com,sys3.test.com"
- /var/lib/pgsql/10/data/pg_hba.conf
- Add the following lines:
- host all all 1.2.3.4/24 md5
- host all all 1.2.3.5/24 md5
- host all all 1.2.3.6/24 md5
- /var/lib/pgsql/10/data/postgresql.conf
- Ensure the following entries are set:
- listen_addresses = '*'
- port = 5432
- Restart PostgreSQL
- sudo systemctl stop postgresql-10
- sudo systemctl start postgresql-10
- Linux Configuration
- If required update the open file limits as described here Linux Configuration
VM 2 Configuration:
- $BRM_CONF/brm.config
- Update the database.main section with: url = "jdbc:postgresql://1.2.3.4/bw_db"
- $BRM_CONF/zoo.cfg
- Set the contents using either IP address or hostname as shown below:
- server.1=1.2.3.4:2888:3888
- server.2=1.2.3.5:2888:3888
- server.3=1.2.3.6:2888:3888
- or
- server.1=sys1.test.com:2888:3888
- server.2=sys2.test.com:2888:3888
- server.3=sys3.test.com:2888:3888
- $BRM_HOME/zookeeper/data_dir/myid
- Set the contents to 2
- $BVR_CONF/bvr.config
- Set the address in the [BRM} section of the config to one of the following::
- address = "localhost,1.2.3.4,1.2.3.6"
- address = "localhost,sys1.test.com,sys3.test.com"
- If the Blueworx Admin Manager is installed on VM 2 then update $BAM_CONF/bam.config as follows:
- [database.main]
- url = "jdbc:postgresql://1.2.3.4/bw_db"
- [brm]
- Set the address in the [BRM} section of the config to one of the following:
- address = "localhost,1.2.3.4,1.2.3.6"
- address = "localhost,sys1.test.com,sys3.test.com"
- Linux Configuration
- If required update the open file limits as described here Linux Configuration
VM 3 Configuration:
- $BRM_CONF/brm.config
- Update the database.main section with: url = "jdbc:postgresql://1.2.3.4/bw_db"
- $BRM_CONF/zoo.cfg
- Set the contents using either IP address or hostname as shown below:
- server.1=1.2.3.4:2888:3888
- server.2=1.2.3.5:2888:3888
- server.3=1.2.3.6:2888:3888
- or
- server.1=sys1.test.com:2888:3888
- server.2=sys2.test.com:2888:3888
- server.3=sys3.test.com:2888:3888
- $BRM_HOME/zookeeper/data_dir/myid
- Set the contents to 3
- $BVR_CONF/bvr.config
- Set the address in the [BRM} section of the config to one of the following:
- address = "localhost,1.2.3.4,1.2.3.5"
- address = "localhost,sys1.test.com,sys2.test.com"
- If the Blueworx Admin Manager is installed on VM 3 then update $BAM_CONF/bam.config as follows:
- [database.main]
- url = "jdbc:postgresql://1.2.3.4/bw_db"
- [brm]
- Set the address in the [BRM} section of the config to one of the following:
- address = "localhost,1.2.3.4,1.2.3.5"
- address = "localhost,sys1.test.com,sys2.test.com"
- Linux Configuration
- If required update the open file limits as described here Linux Configuration
More information on these settings can be found here Redundancy Configuration