I have to increase storage volume in an cassandra cluster, the performance and throughput however is still more than enough. My first thoughts were to only add drives. Is it possible to increasing storage volume without adding new nodes?
Is it possible with jbod to add new drives live in an running node?
Or is the only way taking it offline, add the disks and take it back online afterwards?
Any best practises?
Thx, I really appreciate your help
Adding a new node to an existing cluster, in Apache Cassandra version 3 and higher is fairly easy. When a new node is added to the cluster, Cassandra will automatically adjust the token ranges each node is responsible for resulting in each node in the cluster storing a smaller subset of the data.
Maximum recommended capacity for Cassandra 1.2 and later is 3 to 5TB per node for uncompressed data. For Cassandra 1.1, it is 500 to 800GB per node. Be sure to account for replication.
The minimal number should be 5, as a lower number (such as 3) will result in high stress on the machines during node failure (replication factor is 2 in this case, and each node will have to read 50% of the data and write 50% of data).
You can modify the cassandra.yaml to have multiple storage directories specified in data_file_directories. This will require a node restart in order to pick up the new configuration, but after the restart, Cassandra will start to use the new directory, and data will even out between the two over time.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With