GithubHelp home page GithubHelp logo

Token Assignment Backup about legacy HOT 11 CLOSED

robusto avatar robusto commented on August 23, 2024
Token Assignment Backup

from legacy.

Comments (11)

iamthemovie avatar iamthemovie commented on August 23, 2024

Great point. I'll add this to the list. Thank you!

from legacy.

iamthemovie avatar iamthemovie commented on August 23, 2024

Just out of curiosity, I'm looking at this now and working out whether I should dump the entire ring into a single file on AWS or split it up per node. The output of nodetool ring gives IP's over hostnames and I'm also wondering whether I should match up hostnames with IP's too.

from legacy.

robusto avatar robusto commented on August 23, 2024

Either works. I'd say split up the nodetool ring output at backup time if you have plans you have for a concurrent "restore" feature. Sets up for a clean workflow and maybe better for tracking changes to individual nodes' token assignment. A single file accomplishes the same, but it will be quite long depending on cluster size.

If the file(s) represents token ranges assigned to each node in the ring at the time of backup, it will be possible to create a 1-1 restore in the event of total failure. Since we assume the environment is AWS, IPs are good enough to represent the individual nodes.

However, including hostnames would be good for environments where static, internal IP is not supported (e.g. Google Compute Engine). Speaking of GCE, we could add Google Nearline storage support and then this package would be doubly valuable compared to something like the Python "cassandra_snapshotter" module.

from legacy.

iamthemovie avatar iamthemovie commented on August 23, 2024

Thanks for the feedback.

I have implemented a version locally that matches hostnames to IP's sand for the files, it stores separate files against each host name with a list of the token ranges in.

I will be pushing it up sometime tomorrow once I've tested it.

As for the GCS, I'm happy to look at this after this next update!

from legacy.

robusto avatar robusto commented on August 23, 2024

Awesome! I'm happy to contribute code for GCS when I get some time. We may be moving from AWS to GCS (cheaper instances, faster storage).

from legacy.

iamthemovie avatar iamthemovie commented on August 23, 2024

Yeah, I welcome the help! Interesting you say that, I'll definitely take a look at the price comparisons now that you mention it.

Will tag the commit with this issue tomorrow.

Thanks again!

from legacy.

robusto avatar robusto commented on August 23, 2024

Some info I collected: https://goo.gl/0vVXDn If your findings are different, please let me know. I also evaluated some others, but not worth mentioning right now.

from legacy.

iamthemovie avatar iamthemovie commented on August 23, 2024

9853268 adds token backup.

from legacy.

iamthemovie avatar iamthemovie commented on August 23, 2024

Let me know what you think, the output looks like this....

image

and the file.... https://gist.github.com/iamthemovie/4bdc6bfa621951d817eb

from legacy.

iamthemovie avatar iamthemovie commented on August 23, 2024

Commented: https://gist.github.com/iamthemovie/4bdc6bfa621951d817eb

Perhaps keep the conversation here so we get notifications?

from legacy.

robusto avatar robusto commented on August 23, 2024

Ah yes of course. I agree with your reasoning. We can always redress this when the time comes.

from legacy.

Related Issues (5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.