suggest Free tools to monitor cassandra cluster performance - cassandra

I want to monitor cassandra cluster on CentOS machine. Suggest me Free tools to monitor performance in terms of discs, RAM, nodetool commands and other parameters.
thanks

Have a look at Prometheus.io and the various exporters.
Here's a good blog on it: http://www.robustperception.io/monitoring-cassandra-with-prometheus/ .
In terms of the nodetool commands etc.. you would probably be worth automating things like this via tools like Ansible and/or Rundeck.
You can also have a look at axonops.com .

There are many host side monitoring tools,
I personally use Nmon for a my host side monitoring of a cassandra cluster.
See also: Installing NMon
You can easily create graphs out of the nmon results using NMONVisualizer

Related

How to change cassandra standalone mode to distributed

I have installed Cassandra 2.1 stand alone mode in two nodes seperately.
Is there any way to change both to distributed or make both the node used in one cluster.
please help.
This is what you're looking for: https://docs.datastax.com/en/cassandra/2.1/cassandra/operations/ops_add_node_to_cluster_t.html
I also suggest taking a look at this hands on training course: https://academy.datastax.com/courses/ds201-cassandra-core-concepts
It's free and definitely worth your time if you're thinking about using Cassandra in production.

YCSB for Cassandra 3.0 Benchmarking

I have a cassandra ubuntu visual cluster and need to benchmark it.
I try to do it with yahoo's ycsb (without use of maven if possible).
I use cassandra 3.0.1 but I cant find a suitbale version of ycsb.
I dont want to change to an oldest version of cassandra (ycsb latest cassandra-binding is for cassandra 2.x)
What should I do?
As suggested here, despite Cassandra 3.x is not officially supported, you can use the cassandra-cql binding.
For instance:
/bin/ycsb load cassandra-cql -threads 4 -P workloads/workloada
I just tested it on Cassandra 3.11.0 and it works for both load and run.
That said, the benchmark software to use depends on your test schedule. If you want to benchmark only Cassandra, then #gsteiner 's solution might be the best. If you want to benchmark different databases using the same tool to avoid variability, then YCSB is the right one.
I would recommend using Cassandra-stress to perform a load/performance test on your Cassandra cluster. It is very customizable, to the point that you can test distributions with different data models as well as specify how hard you want to push your cluster.
Here is a link to the Datastax documentation for it that goes into how to use the tool in depth.
https://docs.datastax.com/en/cassandra/2.1/cassandra/tools/toolsCStress_t.html

Is there a way to monitor RAM and CPU usage of Apache Spark applications?

I need to monitor RAM and CPU of Spark Applications that run on a stand alone Spark Cluster.
I have try to use java console and it work very well, but I need to monitor various applicationi and I need to set for each one a different java console port .
Behind a firewalls it becomes a very long and tedious job.
Is there a way to monitor applications from Spark UI for example or something else?
If you use Ubuntu, you may use htop.
To install, do
sudo apt-get install htop

What is the best way to test Cassandra applications?

I am currently using Achilles Embedded to spin up a local, temporary Cassandra instance and test my functionality there. While this is working to some extend, there seems to be a memory leak as the more tests I run, the more I see messages like PS Scavenge GC in xx ms, and my system slows to a crawl, even freezing the mouse pointer.
So, is there a better way to automatically spin up a small Cassandra instance to run my tests against?
The tool I use for quickly creating a local Cassandra cluster is the ccm (Cassandra Cluster Manager) utility. You can easily create a multi-node cluster on your local machine for any release. See more information here.
I believe some of the Cassandra developers use ccm for their development work, so ccm is kept up to date with the newest releases.
I agree, you can use use CCM. if you have a test cluster. Try using cassandra stress tool (Either standalone or using yam profile). If I am getting your question correct, it will solve your problem.

apache zookeeper ask server RAM

Is it possible to use zookeeper to monitor the server resources or to retrieve a number representing the total RAM available?
Apache Zookeeper is not a monitoring tool, it's a distributed manager for configuration sharing, naming and synchronization.
Here is a good description of what Apache Zookeeper is and how it can be used - https://stackoverflow.com/a/8864303/2453586
You can make a workaround and write a script that will check the amount of available RAM every N minutes/seconds (via cron or like a deamonized process) on each local machine and write this value to Zookeeper znode, like zookeeper_host:2181/ram/host1/available. But it's not a good idea.
It's more likely to use a specific tools like Zabbix, Nagios or Gangila for memory monitoring purposes.
You are probably looking for something like jmx.

Resources