Reputation: 927
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
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
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