I frequently test with multi-node vagrant-based clusters locally. The
following chef attributes should give you an idea of what to turn down in
cassandra.yaml and cassandra-env.sh to build a decent testing cluster:

          :cassandra => {'cluster_name' => 'VerifyCluster',
                         'package_name' => 'dsc20',
                         'version' => '2.0.11',
                         'release' => '1',
                         'setup_jna' => false,
                         'max_heap_size' => '512M',
                         'heap_new_size' => '100M',
                         'initial_token' => server['initial_token'],
                         'seeds' => "192.168.33.10",
                         'listen_address' => server['ip'],
                         'broadcast_address' => server['ip'],
                         'rpc_address' => server['ip'],
                         'conconcurrent_reads' => "2",
                         'concurrent_writes' => "2",
                         'memtable_flush_queue_size' => "2",
                         'compaction_throughput_mb_per_sec' => "8",
                         'key_cache_size_in_mb' => "4",
                         'key_cache_save_period' => "0",
                         'native_transport_min_threads' => "2",
                         'native_transport_max_threads' => "4",
                         'notify_restart' => true,
                         'reporter' => {
                           'riemann' => {
                             'enable' => true,
                             'host' => '192.168.33.51'
                           },
                           'graphite' => {
                             'enable' => true,
                             'host' => '192.168.33.51'
                           }
                         }
                       },

The most important things to note:
- don't include JNA (it needs to lock pages larger than what will be
available)
- turn down threadpools for transports
- turn compaction throughput way down
- make concurrent reads and writes very small

I have used the above run a healthy 5 node clusters locally in it's own
private network with a 6th monitoring server for light to moderate local
testing in 16g of laptop ram. YMMV but it is possible.

Reply via email to