Aerospike not forming a cluster on AWS


#1

by peter » Thu Jul 03, 2014 7:54 am

You want to use two AWS servers as a Aerospike cluster, but the cluster does not form.

Aerospike runs very well in a cluster providing that you have correctly configured Aerospike. The instructions for installing on AWS are here: http://www.aerospike.com/docs/operations/install/cloud/amazon/ The documentation for configuring Aerospike are here: http://www.aerospike.com/docs/operations/configure/

AWS does not support multi-cast networking, please follow the instructions for Mesh Heartbeat http://www.aerospike.com/docs/operations/configure/network/heartbeat/

If you configure Aerospike correctly, you will see both nodes in asmonitor. The documentation for asmonitor is here: http://www.aerospike.com/docs/tools/asmonitor/


#2

by salmanbukhari » Tue Jul 15, 2014 4:32 am

I have setup aerospike on 10 nodes on AWS and my configuration file is like CONFIG

CODE: SELECT ALL
# Aerospike database configuration file.

# This stanza must come first.
service {
   user root
   group root
   paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1.
   pidfile /var/run/aerospike/asd.pid
   service-threads 4
   transaction-queues 4
   transaction-threads-per-queue 4
   proto-fd-max 15000
}

logging {
   # Log file must be an absolute path.
   file /var/log/aerospike/aerospike.log {
      context any info
   }
}

network {
   service {
      address 172.31.30.17
      port 3000
      access-address 172.31.30.17
   }
        heartbeat {
                mode mesh
                port 3002
                address 172.31.30.17
                mesh-address 172.31.30.10
                mesh-address 172.31.30.11
                mesh-address 172.31.30.12
                mesh-address 172.31.30.13
                mesh-address 172.31.30.14
                mesh-address 172.31.30.15
                mesh-address 172.31.30.16
                mesh-address 172.31.30.9
                mesh-address 172.31.30.18
                mesh-port 3002
                interval 150
                timeout 10
        }

   fabric {
      port 3001
   }

   info {
      port 3003
   }
}
namespace salman {
        replication-factor 10
        memory-size 70G
        default-ttl 30d
        single-bin true
        storage-engine memory
}

namespace test {
   replication-factor 2
   memory-size 4G
   default-ttl 30d # 30 days, use 0 to never expire/evict.

   storage-engine memory
}

namespace bar {
   replication-factor 2
   memory-size 4G
   default-ttl 30d # 30 days, use 0 to never expire/evict.

   storage-engine memory

   # To use file storage backing, comment out the line above and use the
   # following lines instead.
#   storage-engine device {
#      file /opt/aerospike/data/bar.dat
#      filesize 16G
#      data-in-memory true # Store data in memory in addition to file.
#   }
}

The same file is copied into other nodes… but the cluster is not forming… and there are few nodes that are combining to make cluster but their VISIBILITY is hidden to other nodes. There is no proper example for unicast / MESH heartbeat… kindly guide me indent preformatted text by 4 spaces


#3

by devops02 » Fri Aug 08, 2014 1:49 pm

Hi,

You might want to look at this page in our website regarding Network Heartbeat Configuration http://www.aerospike.com/docs/operations/configure/network/heartbeat/

Also looking at your configuration for mesh-address, you can only have 1 address in there. Since the mesh-address configuration option instructs a node of the existence of another node when clustering. Commonly all nodes seed from the same node.

Regards,

Jerry