Docker issue (cluster identify?)


#1

Hello,

im using docker with aerospike, works pretty well out.

But i run into trouble as soon as the internal IPs (docker eth0 IPs) are matching on two different machines. For example both get the same internal docker ip 172.2.0.1 (which is legit, because its two different machines, having different public ip addresses / forwarded ports).

In this case i get issues with paxos. I got an workaround that i start an container infront before i start the aero container on the 2nd machine - which works out. I guess aeor uses the internal IP to identify somehow a node for paxos? is there another workaround / fix?

# Aerospike database configuration file.

service {
    user root
    group root
    paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1.
    paxos-recovery-policy auto-reset-master
    pidfile /var/run/aerospike/asd.pid
    service-threads 2
    transaction-queues 2
    transaction-threads-per-queue 4
    proto-fd-max 15000


    
    #Number of threads per server allocated for data migration.
    migrate-threads 4


}

...
network {
    service {
        address any
        port 3000

        access-address PUBLIC_IP virtual
    }

    heartbeat {
                address any

                # mesh is used for environments that do not support multicast
                mode mesh
                port 3002


                mesh-seed-address-port xxx 3002 # server1
                mesh-seed-address-port xxx 3002 # server2
                mesh-seed-address-port xxx 3002 # server3

    
        interface-address PUBLIC_IP


                # use asinfo -v 'tip:host=<ADDR>;port=3002' to inform cluster of
                # other mesh nodes
                mesh-port 3002

                interval 150
                timeout 10
        }

    fabric {
        port 3001
    }

    info {
        port 3003
    }
}


#2

Hi @blonkel

Are using the new docker version 1.12 Is should have support for an overlay network. in docker swarm mode:

https://docs.docker.com/engine/userguide/networking/get-started-overlay/

For older versions of docker , please see:

http://www.aerospike.com/docs/deploy_guides/docker/networking