Cassandra使用JMX的列族列表
问题描述:
我想从cassandra的JMX方法中检索列族列表。我正在使用JMX方法从cassandra检索数据。我能够检索密钥空间列表,但没有任何预定义的mbean获取属于此密钥空间的列族列表。 我想知道是否有任何方法可以获取特定于使用JMX或JAVA的密钥空间的列列的列表。Cassandra使用JMX的列族列表
答
可以在对象名称中使用wildecard字符(*),以获得在列族的列表中指定密钥空间如:
JMXConnector connector = JMXConnectorFactory.connect(url, env);
MBeanServerConnection mbsc = connector.getMBeanServerConnection();
ObjectName oName = new ObjectName("org.apache.cassandra.db:type=ColumnFamilies,keyspace=your_keyspace,columnfamily=*");
Set<ObjectName> names = mbsc.queryNames(oName, null);
Set<ObjectInstance> mbeans = mbsc.queryMBeans(oName, null);
所以name
将包含在密钥空间的所有列failies和mbeans
将包含JMX名用于密钥空间中所有列族的MBean。
有关名称图案的更多信息,请参阅JMX documentation
什么版本?随着时间的推移,mbean的名字已经改变 –