Skip to content

Multi node Configuration

rajeee edited this page Jun 14, 2017 · 20 revisions

WiKiHome | Installation Guide | Get Started | Developer Resources | BEMOSS™ Team


Multi-node Configuration

BEMOSS™ can be scaled using multiple nodes. While a BEMOSS™ node can be hosted on a virtual machine or a real machine, multiple BEMOSS™ nodes can be hosted on multiple virtual machines on the same computer, multiple virtual machines on different computers, virtual machines, and real machines, or any combinations of Ubuntu system. The only requirement is that all machines that host BEMOSS™ node need to be on the same network.

Please follow the steps below:

Step 1 - Modify Configure Files

This step is to be done in both BEMOSS™ node and core.

Open the BEMOSS™ Launcher Wizard Main Panel. Click the Advanced Setting button. Click the Database tab. Click the Open Configure File button, two Postgresql configure files will be open automatically.

The configure file (pg_hba.conf) should be updated using the following steps:

Find the line 92, copy it and paste it as line 93 and line 94, then change the IP of line 93 from '127.0.0.1' to your BEMOSS CORE IP (for example 192.168.10.62); and change the IP of __line 94__from '127.0.0.1' to your BEMOSS node IP address (for example '192.168.10.xx')

Change from:

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5

To:

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             192.168.10.62/32        md5
host    all             all             192.168.10.xx/32        md5

This will allow your BEMOSS™ node(s), using other IP address inside the subnet(from 192.168.10.1 to 192.168.10.255), to access your BEMOSS™ core's Postgresql database.


Make sure your changes are saved, then close these configure files.

Step 2 - Modify the 'multinode_data.json' file

To get started, all the nodes information can be edited in the 'multinode_data.json' file under BEMOSS™ main directory, as shown below:

The one listed as the first entry of "known nodes" list is the core BEMOSS™, others, therefore, become BEMOSS™ nodes. Usually, it is best to use the most powerful machine as the core, and less powerful ones as nodes. Also, it is not recommended to run more than one core on the same network. Once it is decided which machine is the core, and which machine(s) is the node(s), you can configure both the information of core and node(s) in the 'multinode_data.json' file.

If you have not configured PostgreSQL for multi-node during BEMOSS™ installation, please follow the instruction here.

Step 2.1 Configure the Core
Please navigate to BEMOSS™ main folder, find the 'multinode_data.json' and open it using a text editor. Then, modify the "know_nodes" entry by appending all the BEMOSS™ nodes' information to the end of the list, as shown below. All the BEMOSS™ core and nodes information should be included in this entry (including their IP addresses). And please make sure information of the BEMOSS™ core as the first element and keep "this_node" as the name of BEMOSS™ core

Step 2.2 Configure the Node
Similar to the core, please navigate to BEMOSS™ main folder, find 'multinode_data.json' and open it using a text editor. Keep the content of "know_nodes" as exactly the same as what you did for BEMOSS™ core's 'multinode_data.json' file. And modify "this node" entry into the name of BEMOSS™ node that you are operating at.


Step 3. Configure Cassandra
This step is to be done in both BEMOSS™ node and core.

In the BEMOSS™ main folder, please locate the "cassandra_settings.txt" file and put IP addresses of core and node(s) to "seeds" field in"cassandra_settings.txt" file, as shown below:

Note: If you did not use the same Cassandra cluster name, username and password during the installation in all nodes and the core, as instructed in the installation, then it needs to be set properly now. For this, please go to BEMOSS™ main folder and delete "cassandra_settings.txt" from both the BEMOSS™ core and the BEMOSS™ node. After this, when you run BEMOSS™, it should ask you for database parameters again. This time, please make sure to use same parameters for all nodes and the core.

Step 4. Configure Multi-node Public-Private Key
Two sets of public/private keys are randomly generated at BEMOSS™ installation time. However, the public keys need to be exchanged between the node and the core.

To do this, please navigate to BEMOSS3.5>>Agents>>MultiNodeAgent>>public_keys folder.

For the BEMOSS™ Core, please provide "client1.key" and "server1.key" to the BEMOSS™ node. In BEMOSS™ node, please replace these files (overriding your existing files) in your public_keys folder.

For the BEMOSS™ Node, please provide "client2.key" and "server2.key" to the BEMOSS™ core. In the BEMOSS™ Core, please replace these files (overriding your existing files) in your public_keys folder.


[Back to WikiHome]

Clone this wiki locally