Ошибка с настройкой многоузловой кассандры + соединение

Поэтому я пытаюсь настроить многоузловой кластер кассандры.

Я установил 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 узла (один начальный узел)?

Я заметил, что Express-Cassandra уведомил, что фактор репликации был изменен и для запуска восстановления 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 я выполнил запрос на запись в базу данных, и он заполнил данные на всех трех узлах.

Любая помощь в устранении этих двух ошибок была бы замечательной!

0 ответов

Предоставление ответа здесь, на случай, если кто-то еще борется.

Эта проблема была связана с NetworkTopologyStrategy, Я перешел на SimpleStrategyи это начало работать.

У меня был только один округ Колумбия.

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

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