...
You would replace with your own where applicable.
Main Primary: opha-dev1primary1.opmantek.net
Poller1 Server: opha-dev2poller1.opmantek.net
Mirror1 Server: opha-dev3.opmantek.net
Run the installation commands on each server as needed.
All the following setup commands in this setup should be run as the root user
Code Block | ||
---|---|---|
| ||
sudo sh ./<executable> |
e.g
Code Block | ||
---|---|---|
| ||
sudo sh ./opHA-Linux-x86_64-5.0.0.run |
...
Edit Configuration: Update the
/etc/nats-server.conf
file with the following settings:Remove or comment out the cluster section
Code Block language json server_name: "opha-dev1primary1.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 } #cluster { # name: "C1" # host: "opha-dev1.opmantek.net" #The current host # # the current server # listen: "0.0.0.0:6222" # routes: [ # # secondary primary # "nats://opha-dev6.opmantek.net:6222" # # server with the arbiter # "nats://opha-dev2.opmantek.net:6222" # # other servers # ] #}
3. Common Configuration for All Servers
...
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 the database section.Code Block language json "nats_server": "opha-dev1primary1.opmantek.net:4222"
IMPORTANT
Delete the following line
Code Block language json "db_mongo_cluster": [],
...
The following steps should be performed only on the Main Primary MongoDB instance.
4.1 Initialize MongoDB
...
Connect to MongoDB using the mongosh
command and configure the replica set:
Run the following command
...
Then run the following command, to initiate a MongoDB Replica Set for streaming database changes.
Code Block |
---|
rs.initiate() |
Restart mongod
...
Start the NATS service on the Main Primary server ONLY:
Code Block |
---|
sudo systemctl start nats-server |
...
After configuration changes, restart mongod on all Mirrors Poller and Pollers 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.
For example if you have NMIS9, opCharts, opEvents and opHA 5 installed you would execute as follows:
Code Block |
---|
sudo systemctl restart nmis9d opchartsd opeventsd omkd ophad |
...
Currently there are 2 available licenses and Message Bus will not run without a license.
opHA-MB for NMIS & opCharts (This license is required for Message Bus to run).
NMIS and opCharts data are synced from all poller/mirrors to the Main Primary using Message Bus. In replication mode, If the Main Primary were to go down the Secondary Primary will retain the NMIS and opCharts data.
opHA-MB for opEvents (This license is an add-on for opEvents).
With this add-on opEvents will use Message Bus to sync opEvents data from each poller/mirror to the Main Primary and in replication mode opEvents data is synced to the Secondary Primary. In replication mode, If the Main Primary were to go down the Secondary Primary will retain the opEvents data.
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 |
---|
cdsudo /usr/local/omk/bin ./ophad cmd producer start |
...