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?

有帮助吗?

解决方案

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.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top