Non-Replication Setup and Configuration Guide
...
Table of Contents | ||
---|---|---|
|
...
Introduction
opHA-MB 5.0 introduces the concept of a Primary & multiple Poller servers and a message busMessage Bus:
The Primary is the server that keeps the information of all the pollers and it is where we can read all the information from. The Consumer (ophad running on Primary) reads data continuously off the message bus Message Bus and stores it in the database
The Producer (ophad running on Pollers) has a change stream setup for the collections and receives update updates from the database if when there is are any. This change stream data is pushed onto the message busMessage Bus.
For the terms used in this project together with their meanings, see https://docs.community.firstwave.com/wiki/spaces/opHA/pages/edit-v2/3164408853#Terminology.
1. Software
...
Upgrade
1.1 Prerequisites
IMPORTANT: All the servers should be setup with the following
...
b. Pollers and Mirrors discovered by the Main Primary
c. On the Main Primary, go to the Peers screen, and for each Peer, click on the Sync all nodes button and Pull Peer Data button to ensure latest data is on the Main Primary.
d. Server names set
de. MongoDB 6 installed
We will be using the below example host names throughout this guide.
...
Poller1 Server: opha-poller1.opmantek.net
1.2 Download Software
Download the opHA 5 software onto each server.
1.3 Install Software
Run the installation commands on each server in the opHA cluster.
...
Code Block | ||
---|---|---|
| ||
sudo sh ./opHA-Linux-x86_64-5.0.0.run |
1.4 Install Message Bus Software
The Message Bus software (NATS) has to be installed and configured.
For this scenario, we do not need a MongoDB Arbiter, so use -y to answer yes to the two questions.
cd /usr/local/omk/install
sudo sh ./install_message_bus.sh -y
2. NATS Setup
This configuration should be applied to the Main Primary server ONLY.
...
Code Block | ||
---|---|---|
| ||
server_name: "opha-primary1.opmantek.net" #The local server http_port: 8222 listen: 4222 jetstream: enabled accounts { $SYS { users: = [ { user: "admin", pass: "password" } ] } ophad: { users: [ { user: "omkadmin", password: "op42opha42" } ] jetstream: enabled } } jetstream { store_dir: "/opt/nats/storage" max_memory_store: 1028M max_file_store: 1028M } |
4. MongoDB Setup (Main Primary Only)
The following steps should be performed only on the Main Primary MongoDB instance.
4.1 Initialize MongoDB Replica Set
Connect to MongoDB using the mongosh
command:
Run the following command
Code Block |
---|
mongosh --username opUserRW --password op42flow42 admin |
Then run the following commands, to initiate a MongoDB Replica Set for streaming database changes.
Code Block |
---|
rs.initiate()
exit |
Restart mongod
Code Block |
---|
systemctl restart mongod |
3. Common Configuration for All Servers
3.1 Update /usr/local/omk/conf/opCommon.json
Backup Configuration: Make a backup copy of the
opCommon.json
file before making any changes.Add NATS Server Configuration: Ensure the following configuration is included in
opCommon.json
on all servers. In the below example we have added the Main Primary FQDN and port to be utilized in the nats_server attribute, you can find this in thedatabase
section.Code Block language json "nats_server": "opha-primary1.opmantek.net"
IMPORTANT
Delete the following line from the
opCommon.json
file.Code Block language json "db_mongo_cluster": [],
4. MongoDB Setup (Main Primary Only)
The following steps should be performed only on the Main Primary MongoDB instance.
4.1 Initialize MongoDB Replica Set
Connect to MongoDB using the mongosh
command:
Run the following command
Code Block |
---|
mongosh --username opUserRW --password op42flow42 admin |
Then run the following commands, to initiate a MongoDB Replica Set for streaming database changes.
Code Block |
---|
rs.initiate()
exit |
Restart mongod
...
5. Starting Services
5.1 Start NATS (on Main Primary Only)
Start the NATS service on the Main Primary server ONLY:
Code Block |
---|
sudo systemctl start nats-server |
5.2 Restart mongod on Pollers and Mirrors only
After configuration changes, restart mongod on all Poller and Mirror servers ONLY:
Code Block |
---|
sudo systemctl restart mongod |
5.3 Restart FirstWave daemons on all servers
After configuration changes have been made, you will need to restart the relevant FirstWave module daemons applicable to your server.
...
Proceed to the next step.
6. Update License
Install the opHA-MB for NMIS & opCharts license on the Main Primary server only.
...
You need to enter a License Key in the Modules → opLicensing as below on the Main Primary.
...
7. Restart opHA service on the Main Primary
Code Block |
---|
sudo systemctl restart ophad |
8. Start the Poller and Mirrors
Execute the following command on the poller and mirror servers.
Code Block |
---|
sudo /usr/local/omk/bin/ophad cmd producer start |
9. Final Steps
Accept EULAs: Make sure when you login to each server to confirm that all End User License Agreements (EULAs) are accepted.
...