How to predict new node allocation in a Cassandra cluster

cassandra

I have a 5-node Cassandra cluster. Each node has disk space of 5TB. The real usage for each node is around 2.5TB depending on allocations and compactions (some are around 2TB some around 2.8).

I would like to add new nodes to the cluster with lower disk space (2TB for example).

How can I be sure that the new nodes will have enough disk space when Cassandra will redistribute data? How can I be sure that my new nodes are not too small?

I'm afraid that 2TB won't be enough, but what about 2.5TB?

Best Answer

Be careful about decreasing the amount of free disk space. The recommendation for cassandra 2.1 is to maintain 50-80% free space. You can read about it on the Datastax site. The free space is needed during compaction as the SStables will be streamed to disk. Depending on your compaction strategy, you can determine your disk capacity.