我想知道以下命令的Java API等效项,如果有的话,请告诉我。
$NODETOOL netstats
$NODETOOL tpstats
$NODETOOL describecluster
$NODETOOL compactionstats
$NODETOOL proxyhistograms
$NODETOOL tablestats
$NODETOOL tablehistograms
我搜索了datastax API和google,但没有找到任何这样的东西。
发布于 2017-02-18 20:42:55
我们目前正在向diagnostics库添加nodetool功能。如果您想自己做这件事,最好的办法是包装Cassandra的NodeProbe类并查询您自己想要的东西。如果不想输入,可以通过JMX查询mxbeans。
发布于 2017-02-18 21:40:37
nodetool中的所有内容都是通过JMX公开的,并且可以使用JRE标准库进行访问,例如,您可以列出所有的mbean:
import javax.management.*;
import javax.management.remote.*;
...
JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:7199");
JMXConnector jmxc = JMXConnectorFactory.connect(url);
MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();
for (ObjectInstance i : mbsc.queryMBeans(new ObjectName("org.apache.cassandra.metrics:*"), null)) {
System.out.println(i.getObjectName());
}
nodetool只是为您组织了一些内容。您可以阅读一些有关指标以及如何在http://cassandra.apache.org/doc/latest/operating/metrics.html上公开这些指标的信息,如果尝试将指标发送到您自己的工具,请考虑使用reporter interface。
https://stackoverflow.com/questions/42312574
复制