Skip to content

Getting Started

timiblossom edited this page Nov 24, 2014 · 28 revisions

In this setup, we will use Redis with Dynomite. For Memcached, it is very similar replacing Redis installation step with Memcached installation step. We will also show you the configurations to simulate a one-node Dynomite cluster and a two-node Dynomite cluster.

###1. Install Redis Please follow the instructions on this website to download and install Redis: http://redis.io/

###2. Build Dynomite Please follow our README.md to compile and build Dynomite from source. Note that we only test Dynomite on Linux environments so we recommend compiling and building Dynomite on a Linux system.

###3. Configuration ####a. One node cluster: dynomite.yml

    dyn_o_mite:
      listen: 127.0.0.1:9102
      env: network
      datacenter: localdc
      rack: localrack
      dyn_listen: 127.0.0.1:9101
      tokens: '3101134286'
      servers:
      - 127.0.0.1:6379:1
      redis: true

####b. Two nodes cluster dynomite1.yml

   dyn_o_mite:
     listen: 127.0.0.1:9102
     env: network
     datacenter: localdc
     rack: localrack
     dyn_listen: 127.0.0.1:9101
     tokens: '3101134286'
     dyn_seeds:
     - 127.0.0.2:9101:localrack:localdc:437425602
     servers:
     - 127.0.0.1:6379:1
     redis: true

dynomite1.yml

     dyn_o_mite:
       listen: 127.0.0.2:9102
       env: network
       datacenter: localdc
       rack: localrack
       dyn_listen: 127.0.0.2:9101
       tokens: '437425602'
       dyn_seeds:
       - 127.0.0.1:9101:localrack:localdc:3101134286
       servers:
       - 127.0.0.2:6379:1
       redis: true

####c. 6-node cluster (3 racks with 2 nodes on each) dyn_o_mite: datacenter: us-east-1 distribution: vnode dyn_listen: 0.0.0.0:9101 dyn_seed_provider: simple_provider dyn_seeds:

  • ec2-54-162-161-10.compute-1.amazonaws.com:9101:rack-v0:us-east-1:1383429731
  • ec2-54-191-177-122.compute-1.amazonaws.com:9101:rack-v2:us-east-1:1383429731
  • ec2-54-181-51-12.compute-1.amazonaws.com:9101:rack-v1:us-east-1:3530913378
  • ec2-54-129-121-134.compute-1.amazonaws.com:9101:rack-v0:us-east-1:3530913378
  • ec2-23-123-53-122.compute-1.amazonaws.com:9101:rack-v2:us-east-1:3530913378 hash: murmur listen: 0.0.0.0:9102 preconnect: true servers:
  • 127.0.0.1:6380:1 timeout: 30000 tokens: '1383429731' rack: rack-v1 redis: true

dyn_o_mite: datacenter: us-east-1 distribution: vnode dyn_listen: 0.0.0.0:9101 dyn_seed_provider: simple_provider dyn_seeds:

  • ec2-54-111-131-14.compute-1.amazonaws.com:9101:rack-v1:us-east-1:1383429731
  • ec2-54-191-177-122.compute-1.amazonaws.com:9101:rack-v2:us-east-1:1383429731
  • ec2-23-123-53-122.compute-1.amazonaws.com:9101:rack-v2:us-east-1:3530913378
  • ec2-54-129-121-134.compute-1.amazonaws.com:9101:rack-v0:us-east-1:3530913378
  • ec2-54-181-51-12.compute-1.amazonaws.com:9101:rack-v1:us-east-1:3530913378 hash: murmur listen: 0.0.0.0:9102 preconnect: true servers:
  • 127.0.0.1:6380:1 timeout: 30000 tokens: '1383429731' rack: rack-v0 redis: true

dyn_o_mite: datacenter: us-east-1 distribution: vnode dyn_listen: 0.0.0.0:9101 dyn_seed_provider: simple_provider dyn_seeds:

  • ec2-54-162-161-10.compute-1.amazonaws.com:9101:rack-v0:us-east-1:1383429731
  • ec2-54-111-131-14.compute-1.amazonaws.com:9101:rack-v1:us-east-1:1383429731
  • ec2-54-129-121-134.compute-1.amazonaws.com:9101:rack-v0:us-east-1:3530913378
  • ec2-23-123-53-122.compute-1.amazonaws.com:9101:rack-v2:us-east-1:3530913378
  • ec2-54-181-51-12.compute-1.amazonaws.com:9101:rack-v1:us-east-1:3530913378 hash: murmur listen: 0.0.0.0:9102 preconnect: true servers:
  • 127.0.0.1:6380:1 timeout: 30000 tokens: '1383429731' rack: rack-v2 redis: true

dyn_o_mite: datacenter: us-east-1 distribution: vnode dyn_listen: 0.0.0.0:9101 dyn_seed_provider: simple_provider dyn_seeds:

  • ec2-54-162-161-10.compute-1.amazonaws.com:9101:rack-v0:us-east-1:1383429731
  • ec2-54-191-177-122.compute-1.amazonaws.com:9101:rack-v2:us-east-1:1383429731
  • ec2-54-111-131-14.compute-1.amazonaws.com:9101:rack-v1:us-east-1:1383429731
  • ec2-23-123-53-122.compute-1.amazonaws.com:9101:rack-v2:us-east-1:3530913378
  • ec2-54-129-121-134.compute-1.amazonaws.com:9101:rack-v0:us-east-1:3530913378 hash: murmur listen: 0.0.0.0:9102 preconnect: true servers:
  • 127.0.0.1:6380:1 timeout: 30000 tokens: '3530913378' rack: rack-v1 redis: true

dyn_o_mite: datacenter: us-east-1 distribution: vnode dyn_listen: 0.0.0.0:9101 dyn_seed_provider: simple_provider dyn_seeds:

  • ec2-54-162-161-10.compute-1.amazonaws.com:9101:rack-v0:us-east-1:1383429731
  • ec2-54-111-131-14.compute-1.amazonaws.com:9101:rack-v1:us-east-1:1383429731
  • ec2-54-191-177-122.compute-1.amazonaws.com:9101:rack-v2:us-east-1:1383429731
  • ec2-54-181-51-12.compute-1.amazonaws.com:9101:rack-v1:us-east-1:3530913378
  • ec2-23-123-53-122.compute-1.amazonaws.com:9101:rack-v2:us-east-1:3530913378 hash: murmur listen: 0.0.0.0:9102 preconnect: true servers:
  • 127.0.0.1:6380:1 timeout: 30000 tokens: '3530913378' rack: rack-v0 redis: true

dyn_o_mite: auto_eject_hosts: true datacenter: us-east-1 distribution: vnode dyn_listen: 0.0.0.0:9101 dyn_read_timeout: 15000 dyn_seed_provider: simple_provider dyn_seeds:

  • ec2-54-111-131-14.compute-1.amazonaws.com:9101:rack-v1:us-east-1:1383429731
  • ec2-54-162-161-10.compute-1.amazonaws.com:9101:rack-v0:us-east-1:1383429731
  • ec2-54-191-177-122.compute-1.amazonaws.com:9101:rack-v2:us-east-1:1383429731
  • ec2-54-181-51-12.compute-1.amazonaws.com:9101:rack-v1:us-east-1:3530913378
  • ec2-54-129-121-134.compute-1.amazonaws.com:9101:rack-v0:us-east-1:3530913378 hash: murmur listen: 0.0.0.0:9102 preconnect: true servers:
  • 127.0.0.1:6380:1 timeout: 30000 tokens: '3530913378' rack: rack-v2 redis: true

###4. Start the cluster(s)

   Assume you have gone through the build process and produced the binary file "dynomite".
   To run a one node dynomite cluster using the above config, you can run 
      "dynomite -c dynomite.yml".  

   If you want to start a 2 node cluster with those two yaml files, you can open 
   2 terminals and run:
     Terminal 1: $ dynomite -c dynomite1.yml
     Terminal 2: $ dynomite -c dynomite2.yml