Skip to content

Getting Started

Ioannis Papapanagiotou edited this page Nov 20, 2017 · 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

These examples are for Redis. If you remove Redis property, they will become memcached configured files.

a. One node cluster:

   https://github.com/Netflix/dynomite/blob/dev/conf/redis_single.yml  

b. One node per rack in one datacenter cluster:

   https://github.com/Netflix/dynomite/blob/dev/conf/redis_node1.yml
   https://github.com/Netflix/dynomite/blob/dev/conf/redis_node2.yml

c. Two-nodes cluster in two datacenters each having one rack

   https://github.com/Netflix/dynomite/blob/dev/conf/redis_dc1.yml
   https://github.com/Netflix/dynomite/blob/dev/conf/redis_dc2.yml

d. 6-node cluster in one datacenter with 3 racks, each having 2 nodes

dyn_o_mite:
     datacenter: us-east-1
     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
     listen: 0.0.0.0:9102
     servers:
     - 127.0.0.1:6380:1
     timeout: 30000
     tokens: '1383429731'
     rack: rack-v1
     data_store: 0

dyn_o_mite:
     datacenter: us-east-1
     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
     listen: 0.0.0.0:9102
     servers:
     - 127.0.0.1:6380:1
     timeout: 30000
     tokens: '1383429731'
     rack: rack-v0
     data_store: 0

dyn_o_mite:
     datacenter: us-east-1
     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
     listen: 0.0.0.0:9102
     servers:
     - 127.0.0.1:6380:1
     timeout: 30000
     tokens: '1383429731'
     rack: rack-v2
     data_store: 0

dyn_o_mite:
     datacenter: us-east-1
     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
     listen: 0.0.0.0:9102
     servers:
     - 127.0.0.1:6380:1
     timeout: 30000
     tokens: '3530913378'
     rack: rack-v1
     data_store: 0

dyn_o_mite:
     datacenter: us-east-1
     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
     listen: 0.0.0.0:9102
     servers:
     - 127.0.0.1:6380:1
     timeout: 30000
     tokens: '3530913378'
     rack: rack-v0
     data_store: 0

dyn_o_mite:
     auto_eject_hosts: true
     datacenter: us-east-1
     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-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
     listen: 0.0.0.0:9102
     servers:
     - 127.0.0.1:6380:1
     timeout: 30000
     tokens: '3530913378'
     rack: rack-v2
     data_store: 0

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