0

I am trying to restore backups generated by OpsCenter on target cluster with different topology using sstableloader but sstableloader is not able to recognize backups taken by OpsCenter. There are no errors but files are not streamed.

sstableloader -d 127.0.0.1,127.0.0.2,127.0.0.3 -v /backup/killrvideo/videos -u cassandra -pw xxxxxxxx

WARN  20:10:37,677 Only 51.247GiB free across all data volumes. Consider adding more 
capacity to your cluster or removing obsolete snapshots
Established connection to initial hosts
Opening sstables and calculating sections to stream

Summary statistics: 
   Connections per host    : 1         
   Total files transferred : 0         
   Total bytes transferred : 0.000KiB  
   Total duration          : 5420 ms   
   Average transfer rate   : 0.000KiB/s
   Peak transfer rate      : 0.000KiB/s

/backup/killrvideo/videos folder has sstables files related to killrvideo.videos. File names were extracted from backup.json file

Next I tried to take backup using nodetool snapshot of same table. I coped files from snapshot folder of [data]/killrvideo/videos to my backup folder /backup/killrvideo/videos and then executed same sstableloader command and this time it was successful.

Does that mean backups taken by opscenter are not compatible with sstableloader ? What am I missing ? How to load backups of opscenter using command line sstableloader ?

sstableloader is from default location of datastax-dse installation : resources/cassandra/bin/sstableloader

DataStax Version : 6.8.25

Please advice.

1 Answer 1

0

OpsCenter use the same tools and mechanisms such as nodetool snapshot to perform backups. Similarly, it runs repairs using nodetool repair. The only difference is that those operations are automated when you use OpsCenter to manage your DataStax Enterprise (DSE) clusters.

My best guess is that the SSTables were in a sub-folder of the directory you specified so sstableloader didn't find any files to bulk-load. For example, if the SSTables were in:

  path/
    to/
      ks_name/
        table_name/
          backups*/
            ...               <----- SSTables here
            sub_folder/
              ...             <----- or here
          snapshots/
            timestamp/
              ...             <----- or even here

then sstableloader will not find them since it doesn't recurse into the subdirectories. The SSTables must be located in the table's directory:

  path/
    to/
      ks_name/
        table_name/
          ...               <----- SSTables MUST be here

Alternatively, you need to review the logs to for clues. Cheers!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.