Cassandra使用JMX的列族列表

问题描述:

我想从cassandra的JMX方法中检索列族列表。我正在使用JMX方法从cassandra检索数据。我能够检索密钥空间列表,但没有任何预定义的mbean获取属于此密钥空间的列族列表。 我想知道是否有任何方法可以获取特定于使用JMX或JAVA的密钥空间的列列的列表。Cassandra使用JMX的列族列表

+0

什么版本?随着时间的推移,mbean的名字已经改变 –

可以在对象名称中使用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