1

I have installed and configured a 3 monetdb nodes cluster on 3 virtual machines on my MacBook (Using Oracle Virtual Box). I use MonetDB 5 server 11.37.7

I have followed the Cluster Management documentation of MonetDB, but the monetdb discover command only returns the dbfarm of the local instance. Each node still isn't aware of other nodes.

I can connect to any nodes from any other node using monetdb -h [host] -P [passphrase], I can also discover the remote farms of a specific host by using monetdb -h host -P passphrase discover

The answer to this question monetdb cluster management can't setup helped me in setting the listenaddr property to 0.0.0.0, but still, the discover command only returns the local monetdb farm.

EDIT

Thanks to Jennie suggestion below, I noticed that the monetdb log file contains error while sending broadcast message: Network is unreachable.

I used netcat utility to brodcast UDP message from one node to the other 2 and it worked, I can ping, ssh and the 3 nodes are part of the same network configured with virtualbox, but the error is still there.

J.M. Kenny
  • 384
  • 4
  • 11

2 Answers2

1

All your VMs must be in the same LAN environment. monetdb discover basically goes over all IP addresses under the same subnet.

Can you some how verify that's the case?

Jennie
  • 345
  • 1
  • 8
  • I configured a host network with VirtualBox and all my VMs are part of this network: 192.168.56.X/24. I even ran nmap -sn 192.168.56.1/24 which discovered my 3 nodes. But I have to mention that 2 network adapters are configured for each VM. 1 as NAT (internet access) and 1 as part of the host network mentioned earlier. Could it be that the `discover` command goes through the NAT one ? – J.M. Kenny Jul 24 '20 at 12:39
  • Well... After hours of trials, I made sure to only have one network interface on each node. They can communicate with each other (ping, nmap, ssh). I used netcat and could brodcast UDP messages from one node to the other 2. So I don't know what happens but monetdb log file says "error while sending broadcast message: Network is unreachable". – J.M. Kenny Jul 25 '20 at 01:51
  • Finally, @Jennie I could make it. I configured my main network interface using Bridge instead of NAT. – J.M. Kenny Jul 25 '20 at 07:05
0

I got it working, thanks to @Jennie's post. For anyone using VirtualBox:

  • Use the first network adapter of each configured node with Bridge access instead of NAT
  • Configure the following property of your dbfarm: listenaddr=0.0.0.0
  • For testing purpose, it may be worth reducing the property discoveryttl to less than the default 10mns
J.M. Kenny
  • 384
  • 4
  • 11
  • Thanks for sharing your solution! I only have basic knowledge about computer networks. I was about to ask for help from my teammates. – Jennie Jul 25 '20 at 09:37