Ошибка вставки Кассандры

У меня есть кластер с 4 узлами Cassandra с 2 узлами Cassandra и 2 оживленными узлами [cassandra+TT]. Бойкая бета 2

Я использовал cassandra-cli для вставки создания и обновления семейств столбцов

Мои вставки и прогнозы всегда терпят неудачу. Например

Семейство счетчиков

[default@StatsKeySpace] create column family Impressions with comparator=UTF8Type and default_validation_class=CounterColumnType and key_validation_class=UTF8Type;
175d69d0-eb6f-11e0-0000-93bbb4d362fc
Waiting for schema agreement...
... schemas agree across the cluster
[default@StatsKeySpace] incr Impressions['Test']['impressions'] by 10;
null
[default@StatsKeySpace] incr Impressions['Test']['impressions'] by 1; 
null
[default@StatsKeySpace] get Impressions['Test']['impressions'];
null
[default@StatsKeySpace] list Impressions;
Using default limit of 100
null

Семейство стандартных столбцов

[default@StatsKeySpace] set TestColumnFamily['Test']['tamil']='hai';
null

Все узлы в кластере живы

Это мое ключевое пространство Defn

Keyspace: StatsKeySpace:
  Replication Strategy: org.apache.cassandra.locator.NetworkTopologyStrategy
  Durable Writes: true
    Options: [replication_factor:1]

Я попробовал cassandra-cli с режимом отладки Я нашел эту ошибку

[default@unknown] use StatsKeySpace;
Authenticated to keyspace: StatsKeySpace
[default@StatsKeySpace] incr Impressions['tamil']['count'] by 1;
null
java.lang.RuntimeException
    at org.apache.cassandra.cli.CliClient.executeCLIStatement(CliClient.java:297)
    at org.apache.cassandra.cli.CliMain.processStatement(CliMain.java:217)
    at org.apache.cassandra.cli.CliMain.main(CliMain.java:345)

Оба семейства столбцов имеют replicate_on_write false. Спасибо за помощь заранее

С уважением, Тамил

2 ответа

Решение

Благодаря jbellis я обновил версию cassandra, поставляемую с быстрой скоростью, и запустил cassandra-cli с установленным режимом отладки. Как упомянул jbellis, я получил значимое исключение.

UnavailableException - Недостаточно живых узлов для удовлетворения фактора репликации.

Поскольку Brisk использует Brisksnitch, который развертывает оживленные узлы и узлы кассандры на разных DC. Один из моих 4-х узловых кластеров, который является семенем для Brisk DC, не работает. Я надеюсь, что именно поэтому я получил это исключение.

Итак, я перезапустил весь свой кластер со всеми узлами, обновленными до 0.8.6, и с пространством ключей с simplestrategy, поскольку у моего развертывания должен быть только один центр данных.

Теперь все мои вставки и прогнозы в порядке:) Надеюсь, что brisk b2 совместим с 0.8.6 во всех аспектах.

С уважением, Тамил.с

Вы пытаетесь увеличить не счетчик столбцов. См. http://www.datastax.com/dev/blog/whats-new-in-cassandra-0-8-part-2-counters для примера создания CF для использования со счетчиками.

(Brisk b2 поставляется с довольно старой версией Cassandra. Я полагаю, что более новые версии вернут более полезное сообщение об ошибке.)

Другие вопросы по тегам