Cluster not formed

container
lxc

#1

Hello

I just stated evaluating Aerospike (Community Edition build 3.5.4) and have setup 2 servers (as-01 + as-02) on Ubuntu 14.04 in a LXC containers.

Installation was easy, the servers are starting up fine. But they do not form a cluster. Multicast is working in our VLAN (is used already by jgroups), IPTables is not used on these VMs.

Multicast config was the default:

mode multicast
address 239.1.99.222
port 9918
interface-address <ip as-01/02>

I also tried a mesh configuration for the 2 hosts like this:

as-01 config:

mode mesh  
address <ip as-01>                
port 30002        
mesh-seed-address-port <ip as-02> 30002

as-02 config:

mode mesh  
address <ip as-02>                
port 30002        
mesh-seed-address-port <ip as-01> 30002

But the nodes still do not form a cluster (at least the logs say CLUSTER SIZE = 1).

I also tried this multicast testing tool mtools to check the multicast network and it works fine.

What can be the problem? Something else to check? Are there any known issues with running AeroSpike in Linux LXC with a network setup with bonds and bridges?

Any help is appreciated

Klaus


#2

Hi Klaus,

Could you elaborate on your setup. Are you running each LXC containers on two seperate vms within the same Host? It would be great to see aerospike.log entries showing heatbeat connections to ip as-01/02 Can you confirm that each container is able to connect to one another over the port 30002? Also are the containers running multiple virtual interfaces.

You may need to set the access-address and network-interface-name similar to following settings:

network {
	service {
		address any
		port 3000
                access-address <ip as-01/02>
                network-interface-name <Interface name ie. eth1>
	}

We have tested aerospike on Docker containers.

Hope this helps.


#3

Hi Lucien thanks for the help.

The “network-interface-name” property did the job. I did not find it in the install or config docs, seems that it’s only documented in the reference guide.

Anyway, if I specify the network-interface-name to be used, I also get the cluster connected using multicast, which is my preference.

Here is my config (the interface name is “v402” in my case):

host as-02:

    service {
            address any
            port 3000
            access-address <ip as-01>
            network-interface-name v402
    }

    heartbeat {
            mode multicast
            address 239.1.99.222
            port 9918
            interface-address <ip as-01>
            ...
    }

host as-02:

    service {
            address any
            port 3000
            access-address <ip as-02>
            network-interface-name v402
    }

    heartbeat {
            mode multicast
            address 239.1.99.222
            port 9918
            interface-address <ip as-02>
            ...
    }        

Thanks for the help

Regards

Klaus