Итак, я пытаюсь настроить многоузловой кластер кассандры.
Я установил 3 узла Кассандры на 3 разных серверах. Во всех трех файлах cassandra.yaml я определил один и тот же начальный узел. После очистки данных и перезапуска сервисов одна за другой, я вижу, как они отображаются, и в состоянии nodetool отображается UN для всех записей. Теперь я использую Express-Cassandra для подключения к Cassandra, и это работает просто отлично, но это работает только для первых нескольких запросов, а затем, просто сбой со следующей ошибкой -
Error during find query on DB -> ResponseError: Server failure during read query at consistency ONE (1 responses were required but only 0 replicas responded, 2 failed)
Неважно, по какому запросу чтения он не проходит, но он работает примерно 10 секунд, а затем умирает. Иногда он умирает от запросов, которые были успешными при предыдущем запуске. Кроме того, мне просто интересно, почему он говорит, что 2 не удалось, если есть 3 узла (один начальный узел)?
Я заметил, что Экспресс-Кассандра уведомила, что фактор репликации был изменен и для запуска восстановления nodetool, но там я продолжаю получать следующее сообщение об ошибке -
Validation failed in /xxx.xxx.xxx.xxx (progress: 0%)
[2018-07-02 08:10:33,447] Some repair failed
Где xxx.xxx.xxx.xxx
- один из трех IP-адресов узла. Я пытался запустить восстановление nodetool на каждом из узлов, но продолжаю получать одинаковые ошибки на каждом из серверов.
Это мои параметры настройки экспресс-кассандры (xxx.xxx.xxx.xxx - это мой начальный IP-адрес):
clientOptions: {
contactPoints: ['xxx.xxx.xxx.xxx'],
protocolOptions: {
port: 9042
},
keyspace: 'test_keyspace',
queryOptions: {
consistency: cassandra.consistencies.one
},
socketOptions: {
readTimeout: 0
}
},
ormOptions: {
defaultReplicationStrategy: {
class: 'NetworkTopologyStrategy',
dc1: 3
}
}
Я не уверен, правильно ли настроена NetworkTOpologyStrategy, но после запуска express.js я выполнил запрос на запись в базу данных, и он заполнил данные на всех трех узлах.
Любая помощь в устранении этих двух ошибок была бы замечательной!