user3351750
user3351750

Reputation: 927

Snapshot in cassandra driver

I am trying to take snapshot of a cassandra cluster from a node which do not have cassandra installed, i.e. a node which is not a part of the cluster(so cannot use nodetool) . I am thinking of using cassandra driver 3.0.0 to do this.

The documentation http://datastax.github.io/python-driver/api/index.html has no mention of any api to take the snapshot.

So should I assume that currently it is not possible to achieve the same ?

Upvotes: 1

Views: 345

Answers (2)

Tyler Hobbs
Tyler Hobbs

Reputation: 6932

The drivers do not have a way to trigger a snapshot. However, it's possible to trigger a snapshot remotely through JMX. Nodetool is generally the easiest way to do this. It can be used from a machine that is not running Cassandra -- just download a Cassandra tarball that matches the version of your cluster, and use the nodetool that's included in that.

You may also need to change the configuration of your Cassandra cluster (in cassandra-env.sh) to enable remote JMX connections. However, if you do this, please be aware of the security implications.

Upvotes: 1

Adam Holmberg
Adam Holmberg

Reputation: 7365

There is no way to do this using the native protocol drivers. You would need to use a JMX client, which is what nodetool uses to invoke that method.

Personally I would put Cassandra on the machine on which you want to run the command, and use nodetool. It could be as simple as grabbing the tarball distribution if you don't want to install with a package manager.

Upvotes: 1

Related Questions