Scylla JMX proxy
2cd5a5f048
The 'nodetool scrub' command ends up calling the variant that is not wired up to the Scylla API which causes the following error to be printed out to the user: [penberg@nero scylla-tools-java]$ ./bin/nodetool scrub error: For input string: "" -- StackTrace -- java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:592) at java.lang.Integer.parseInt(Integer.java:615) at com.scylladb.jmx.api.APIClient.getIntValue(APIClient.java:216) at com.scylladb.jmx.api.APIClient.getIntValue(APIClient.java:220) at org.apache.cassandra.service.StorageService.scrub(StorageService.java:1291) Fix the problem by implementing the said scrub() variant. Message-Id: <1458035736-26349-1-git-send-email-penberg@scylladb.com> |
||
---|---|---|
dist | ||
scripts | ||
src/main/java | ||
git-archive-all-license.txt | ||
LICENSE.AGPL | ||
NOTICE | ||
pom.xml | ||
README.md | ||
SCYLLA-VERSION-GEN |
Urchin JMX Interface
This is the JMX interface for Scylla
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/scylla-jmx-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)