使用 JMX 的 Cassandra 列族列表

Posted

技术标签:

【中文标题】使用 JMX 的 Cassandra 列族列表【英文标题】:Cassandra Column families list using JMX 【发布时间】:2016-07-27 04:29:59 【问题描述】:

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

【问题讨论】:

什么版本? mbean 名称随时间而变化 【参考方案1】:

您可以在对象名称中使用通配符 (*) 来获取指定键空间中的列族列表,例如:

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 将包含键空间中所有列失败的 jmx 名称,mbeans 将包含键空间中所有列族的 MBean。

JMX documentation 中有关名称模式的更多日期信息

【讨论】:

以上是关于使用 JMX 的 Cassandra 列族列表的主要内容,如果未能解决你的问题,请参考以下文章

Cassandra 列族适用于多个用例好/坏

Cassandra 如何对静态列族进行排序

使用 MapReduce 作业高效处理 Cassandra 列族中的所有数据

将数据加载到 Cassandra 列族的最快方法是啥

Cassandra 列族大于节点驱动空间

Cassandra 多个键空间或列族?