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

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

4 голосов
/ 30 сентября 2011

У меня есть кластер Cassandra с 4 узлами с 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 ]

3 голосов
/ 03 октября 2011

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

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

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

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

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

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

1 голос
/ 30 сентября 2011

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

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

...