Skip navigation.

Fast Cassandra nodes in AWS EC2

Build a Cassandra cluster out of 3+ m1.large nodes, using ephemeral storage...

Once you start building a node with ephemeral storage, it makes no longer sese to do RAID1 or such -- any hickup, and it's all going to be blown away anyway...

The trick is to build a seed-node with EBS-storage and change the Snitch -- look for my posting on how to do that.

This ec2 incantation shows you, how to get the two ephemeral drives as sdb and sdc:
ec2-run-instances ami-5139f538 -t m1.large -g sg-b5eff2d9 -s subnet-d5c7fdbc -b /dev/sdb=ephemeral0 -b /dev/sdc=ephemeral1

NOTE: the AMI image is my own, and not publicly available.

This set makes the two ephemerals into a tight (chunk 256) RAID0, builds an ETH4 file system on it, and sets the read-ahead to 65536.

sudo umount /media/ephemeral0
yes | sudo mdadm --create /dev/md0 --chunk 256 --level=0 --raid-devices=2 /dev/sdb /dev/sdc
sudo blockdev --setra 65536 /dev/md0
sudo mkfs.ext4 /dev/md0
sudo mkdir /mnt/cassandra
sudo mount /dev/md0 /mnt/cassandra -o noatime
sudo chown -R ec2-user:ec2-user /mnt/cassandra
sudo mkdir /var/log/cassandra
sudo chown ec2-user:ec2-user /var/log/cassandra