Question

Intro

I have a cassandra 1.2 cluster, all the nodes have SSDs. Now I want to add more disks to the existing nodes, but I want to be able to choose which tables are stored on different disks.

Problem

For example, node 1 will have 3 SSDs and 1 regular disk drive and I want all the column families except 1 (let's call it "discord" table) to be stored on the SSDs only, the final table "discord" needs to be stored on the regular disk.

According to the documentation this should be possible; however, the only way of doing it that I can see is:

  1. Setting up Cassandra to use multiple data_files_directories in cassandra.yaml.
  2. Creating the tables.
  3. Creating a link from the data directory on each SSD to the directory on the hard disk where I want to store the column family.

Question

Is this the only way of doing it? Or there is a simpler way of configuring a node to work in this way?

Was it helpful?

Solution

You can set multiples files using the data_file_directories property, but the data is distributed over the folders internally by Cassandra. You can not take decisions on which keyspace or column family goes to each directory.

So the symbolic links is the way to go in my opinion.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top