Hi Particia,

Thank you for the feedback. It has been helpful.

On Tue, Aug 27, 2013 at 12:02 AM, Patricia Gorla <gorla.patricia@gmail.com> wrote:

We use a number of tools to manage our Cassandra cluster.

* Datastax OpsCenter [0] for at a glance information, and trending
statistics. You can also run operations through here, though I prefer
to use nodetool for any mutative operation.
* nodetool for ad hoc status checks, and day-to-day node management.
* puppet for setup and initialization

> For example, if I want to make some changes to the configuration file that resides on each node, is there a tool that will propagate the change to each node?

For this, we use puppet to manage any changes to the configurations
(which are stored in git). We initially had Cassandra auto-restart
when the configuration changed, but you might not want the node to
automatically join a cluster, so we turned this off.

Puppet was the first thing that came to mind for us as well. In addition, we had the same thought about auto-restarting nodes when the configuration is changed. If a configuration on all the nodes is changed, we would want to restart one node at a time and wait for it to rejoin before restarting the next one. I am assuming in a case like this, you then manually perform the restart operation for each node?

> Another example is if I want to have a rolling repair (nodetool repair -pr) and clean up running on my cluster, is there a tool that will help manage/configure that?

Multiple commands to the cluster are sent via clusterssh [1] (cssh for
OS X). I can easily choose which nodes to control, and run those in
sync. For any rolling procedures, we send commands one at a time,
though we've considered sending some of these tasks to cron.

Thanks again for the tip! This is quite interesting; it may help to solve our immediate problem for now.


Hope this helps.


[0] http://planetcassandra.org/Download/DataStaxCommunityEdition
[1] http://sourceforge.net/projects/clusterssh/