I wrote that a few days ago: http://thelastpickle.com/blog/2016/02/25/removing-a-disk-mapping-from-cassandra.html
I believe this might help you.
Alain Rodriguez - firstname.lastname@example.org
The Last Pickle - Apache Cassandra Consulting
Code wise, I am not completely familiar with what accomplishes the behavior. But my understanding and experience is that Cass 2.1 picks the drive with the most free space when picking a destination for a compaction operation.
(This is an overly simplistic description. Reality is always more nuanced. datastax had a blog post that describes this better as well as limitations to the algorithm in 2.1 which are addressed in the 3.x releases )
ClintOn Feb 28, 2016 10:11 AM, "Michał Łowicki" <email@example.com> wrote:On Sun, Feb 28, 2016 at 4:00 PM, Clint Martin <firstname.lastname@example.org> wrote:
Your plan for replacing your 200gb drive sounds good to me. Since you are running jbod, I wouldn't worry about manually redistributing data from your other disk to the new one. Cassandra will do that for you as it performs compaction.Is this done by pickWriteableDirectory?
While you're doing the drive change, you need to complete the swap and restart of the node before the hinted handoff window expires on the other nodes. If you do not complete in time, you'll want to perform a repair on the node.Yes. Thanks!
ClintOn Feb 28, 2016 9:33 AM, "Michał Łowicki" <email@example.com> wrote:Hi,I've two disks on single box (500GB + 200GB). data_file_directories in cassandra.yaml has two entries. I would like to replace 200GB with 500GB as it's running out of space and to align it with others we've in the cluster. The plan is to stop C*, attach new disk, move data from 200GB to new one and mount it at the same point in the hierarchy. When done start C*.Additionally I would like to move some data from the old 500GB to the new one to distribute used disk space equally. Probably all related files for single SSTable should be moved i.e.
Is this something which should work or you see some obstacles? (C* 2.1.13).--BR,