This page describes how to install Busby from scratch, along with how how to update to the latest version of Busby.
Busby can be installed on premise or in a private or public cloud by running the Busby install bash script. When installing Busby nodes are either Core nodes, or Additional nodes. It is important to know all of the core nodes to be configured before beginning installation.
You will need to request the latest install script from Squared Paper as we will need to set up your project before it will be able to be installed. Once you receive this transfer the install script to the host you want to install Busby on. (install.sh)
Because the installer can take some time to run, it is advisable to run the installer in a screen or tmux session (screen/tmux) in case there are any connectivitiy issues between your local computer and the Busby server whilst the installation is in progress so you will be able to resume the session and see the progress when you loose connection.
The Busby installer reads its configuration from a key-value pair text file which needs to be created at the location /var/squaredpaper/.env
The script is required to be run as
root
for the setup to complete successfully.
The steps are the same for each type of node. The only differences are the variables used for each type of machine.
/var/squaredpaper
.env
file inside the folder./install.sh
.It is important to use a considered host naming strategy when installing Busby. Once a machine has been installed with a particular host name it is not possible to revert.
Ensure that the host name is set correctly before installing a Busby core host, this cannot be changed later.
Ensure that the server you are installing can resolve itself by hostname.
The following table lists the possible values to be included in /var/squaredpaper/.env
:
Name | Description | Example | Required/Optional |
---|---|---|---|
BusbyProject |
Your Busby project name - this will be supplied to you by Squared Paper | squared-demo |
Required |
BusbyVersion |
The initial Busby version to install - this will be supplied to you by Squared Paper | 9.0.5 |
Required |
BusbyType |
The type of Busby node to install - either core , elasticsearch or standard |
core |
Required |
BusbyNode |
Hostname of the node, should match hostname . Ensure that the server being installed can resolve itself by this hostname |
busby-core-1 |
Required |
BusbyRabbit |
The list of core nodes in the order to connect. See the configuration examples for more information. They must all be resolvable either via DNS or /etc/hosts |
busby-core-1,busby-core-2 |
Required |
BusbyCluster |
The list of core nodes, the first should be the master. See the configuration examples for more information. They must all be resolvable either via DNS or /etc/hosts |
busby-core-1,busby-core-2 |
Required |
BusbyMaster |
The host name of the first core in the Busby System which should be the resolvable address, and should match the first in BusbyCluster . It should also match the BusbyNode of that machine due to it being used for the RabbitMQ cluster node name |
busby-core-1 |
Required for cores |
BusbyDeployment |
Name of the Busby deployment. Must be identical on all cores | busbyOnPrem |
Required for cores |
BusbyZone |
The name of the Busby Zone this node is in | busbyOnPrem.A |
Optional |
BusbyDistrict |
The name of the Busby District this node is in | A |
Optional |
BusbyBackups |
The path where backups should be stored, e.g a network mount. Defaults to /var/squaredpaper/backups |
/mnt/backups |
Optional |
BusbyUser |
User that the Busby service should run as. Defaults to root |
busby |
Optional |
BusbyGroup |
Group that the Busby service should run as. Defaults to root |
busby |
Optional |
BusbyDirectoryDBName |
Busby Directory Control Service database name. Defaults to BusbyConfiguration |
mySystemBusbyConfig |
Optional |
BusbyDirectoryDBHost |
Busby Directory Control Service host name. Defaults to localhost |
your-db-server |
Optional |
BusbyDirectoryDBUser |
Busby Directory Control Service user name. Defaults to postgres |
dbuser |
Optional |
BusbyDirectoryDBPass |
Busby Directory Control Service password . Defaults to Squared1 |
dbpass |
Optional |
BuzbyZip |
Path to the Busby zip file to install. Avoids the need to download from the internet in a multi host install. | /home/squared/busby_V9.0.5.zip |
Optional |
Once all the hosts have been updated the configuration editor can be run on the primary core - http://<core-ip>:3002
. The extra core hosts should then be added to the config editor hosts section, and be configured as Cores.
To update the busby version ssh on to the machines to be updated and log in as a user with root privileges.
Navigate to the location /opt/squaredpaper/installers
As root, run the command ./deploy.sh -r -v {project_version}
- the project_version will have been provided by Squared Paper for your project.
The deploy script does the following :
/opt/squaredpaper/busby
/opt/squaredpaper/busby
For a multi host system there are options to either deploy all the hosts automatically from the single deploy.sh
or to run through the above process manually on each node.
To deploy all the hosts automatically edit the /opt/squaredpaper/installers/hostsToUpdate
file to include the host names of all the machines that need to be updated. The deploy.sh
script will then install the update on the machines in the order in the file by sshing to the machines.
Ensure that it is possible to ssh to all the machines in the
hostsToUpdate
file before starting the deployment. It is possible that you will need to ssh to these machines once to make sure that the keys are exchanged and accepted.