Количество ключей отсутствует в выходных данных nodetool cfstats в cassandra 2.1.2. Как теперь получить количество строк?

Мне очень нужно количество строк в ColumnFamily, но «Количество ключей» отсутствует в выводе «nodetool cfstats» в cassandra 2.1.2. Как теперь получить количество строк?

Вот вывод cfstats

Keyspace: liftrmt
    Read Count: 0
    Read Latency: NaN ms.
    Write Count: 0
    Write Latency: NaN ms.
    Pending Flushes: 0
            Table: reportcodedaycount
            SSTable count: 4
            Space used (live): 11.49 MB
            Space used (total): 11.49 MB
            Space used by snapshots (total): 0 bytes
            SSTable Compression Ratio: 0.38099920748493266
            Memtable cell count: 0
            Memtable data size: 0 bytes
            Memtable switch count: 0
            Local read count: 0
            Local read latency: NaN ms
            Local write count: 0
            Local write latency: NaN ms
            Pending flushes: 0
            Bloom filter false positives: 0
            Bloom filter false ratio: 0.00000
            Bloom filter space used: 64 bytes
            Compacted partition minimum bytes: 444.17 KB
            Compacted partition maximum bytes: 6.68 MB
            Compacted partition mean bytes: 4.17 MB
            Average live cells per slice (last five minutes): 0.0
            Maximum live cells per slice (last five minutes): 0.0
            Average tombstones per slice (last five minutes): 0.0
            Maximum tombstones per slice (last five minutes): 0.0

person thunder    schedule 28.11.2014    source источник


Ответы (2)


Вам нужно использовать новые метрики, к которым можно получить доступ через JMX. Я получу к ним доступ с помощью JConsole.

Откройте jconsole, затем перейдите к:

org.apache.cassandra.metrics
    -> ColumnFamily
        -> ksname (in my case test)
            -> cfname (in my case group)
                -> EstimatedColumnCountHistogram
                    -> Attributes -> Value

Откройте длинный массив [90], и в моем случае это второе значение. Это ключи, которые находятся в sstables, если они находятся в memtable, они не будут доступны через эту метрику (т. е. если вы хотите их увидеть, вам нужно сбросить свои memtables в sstables).

Снимок экрана с 22 уникальными ключами, вставленными в test.group ниже для ясности...

JConsole показывает 22 вставленных ключа в cassandra

Подробнее о новом API метрик.

person Lyuben Todorov    schedule 28.11.2014
comment
Просто информация... если у кого-то нет x-сервера (GUI) для запуска JConsole, то он может использовать jmxterm из самой командной строки - person thunder; 29.11.2014

ОБНОВЛЕНИЕ: эта проблема устранена в версии 2.1.3.

Я пошел дальше и создал jira для этого. Не знаю, почему в версии 2.1.2 отсутствует количество ключей: https://issues.apache.org/jira/browse/CASSANDRA-8400

person phact    schedule 01.12.2014