Scylla JMX proxy
Go to file
Pekka Enberg d88d017385 Merge "Populate the API exception" from Amnon
"The trigger for this patch is the nodetool remove command, the expected
behaviour is that the error that return from the API would be populate to the
JMX client.

In this first stage the API errors are send as a generic RuntimeException, in a
later phase specific methods would catch this exception and replace it with a
specific one.  Note that the thrown exceptions should be one that is known to the client,
or it would fail to handle it and in general should be equivalent to origin.

After this patch a call to the nodetool remove with a bad host name would result in:

./bin/nodetool removenode dcc0477a-b4a7-448a-bc79-27853f61b92d
error: Host ID not found.
-- StackTrace --
java.lang.RuntimeException: Host ID not found.
        at com.cloudius.urchin.api.APIClient.getException(APIClient.java:114)
        at com.cloudius.urchin.api.APIClient.post(APIClient.java:101)
....."
2015-10-28 11:36:25 +02:00
debian dist: add debian/ directory to build .dep package for Ubuntu 2015-10-27 04:17:13 +09:00
dist dist: add build script for ubuntu 2015-10-27 04:17:13 +09:00
scripts JMX run scripts: Set the rmi port to listen on the jmx port 2015-09-22 10:19:53 +03:00
src/main/java Updating the http client and support API exception 2015-10-28 11:25:37 +02:00
LICENSE.AGPL Change license to AGPLv3 2015-09-22 13:33:24 +03:00
NOTICE Add a NOTICE file for the yammer library 2015-06-11 14:32:45 +03:00
pom.xml Updating the http client and support API exception 2015-10-28 11:25:37 +02:00
README.md README: Use of uber-jar and open jmx 2015-09-18 07:50:09 +03:00
SCYLLA-VERSION-GEN release: prepare for next version cycle 2015-09-21 16:17:32 -07:00

Urchin JMX Interface

This is the JMX interface for urchin.

Compile

To compile do:

mvn install

Run

The maven will create an uber-jar with all dependency under the target directory. You should run it with the remote jmx enable so the nodetool will be able to connect to it.

java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=7199 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar target/urchin-mbean-1.0.jar

Setting IP and Port

By default the the JMX would connect to a node on the localhost on port 10000.

The jmx API uses the system properties to set the IP address and Port. To change the ip address use the apiaddress property (e.g. -Dapiaddress=1.1.1.1) To change the port use the apiport (e.g. -Dapiport=10001)