Кассандра выдает UnavailableException

Я использую драйвер Datastax для Cassandra на С#. В моем кластере 2 сервера (каждый из них — дата-центр). Когда я объявляю KEYSPACE следующим образом:

CREATE KEYSPACE exc WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'DC1' : 2, 'DC2' : 2 }

После этого, выполняю ли я операцию SELECT/INSERT, я получаю следующее:

cassandra.UnavailableException: Not enough replica available for query at consistency One (1 required but only 0 alive)

Я использовал nodetool для проверки своего кластера и обнаружил, что узлы в порядке и проблем с балансом не наблюдается.

Так кто-нибудь сталкивался с подобной проблемой? Что я должен сделать, чтобы заставить его работать? Спасибо.


person user3464867    schedule 26.03.2014    source источник
comment
Дубликат stackoverflow.com/questions/22272675/   -  person RussS    schedule 26.03.2014
comment
Да, спасибо. Но после того, как я попробовал CREATE KEYSPACE exc WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'DC1' : 1, 'DC2' : 1 }, проблема осталась прежней. Оба моих сервера могут вставлять данные в Cassandra, должен ли я просто сделать его одним контроллером домена?   -  person user3464867    schedule 27.03.2014
comment
Как я упоминал ранее, отметив дубликат, ваш центр обработки данных называется datacenter1. Ваше пространство ключей ищет DC1 (и dc2), которых не существует.   -  person RussS    schedule 27.03.2014
comment
Пожалуйста, прочитайте ответ на связанный обман для получения более подробной информации.   -  person RussS    schedule 27.03.2014
comment
Ой, прости за такую ​​глупую ошибку. И большое спасибо за ваше время.   -  person user3464867    schedule 27.03.2014


Ответы (1)


Используйте кольцо nodetool или состояние nodetool, чтобы увидеть, есть ли какие-либо узлы, помеченные как отключенные.

person Arya    schedule 26.03.2014
comment
Вот мой nodetool status результат. Я видел, что два токена одинаковы, и мне все равно, имеет это значение или нет. - person user3464867; 27.03.2014