Я устанавливал CASSANDRA clustter с 3-мя узламиКассандры кластеризация отказоустойчивости High-Avialability
Node1(192.168.0.2) , Node2(192.168.0.3), Node3(192.168.0.4)
создал 'тест' с коэффициентом ключевого пространства репликации как 2.
Create KEYSPACE test WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 2}
Когда я останавливаю Node2 или Node3 (по одному за раз и одновременно за один раз), я могу выполнять операции CRUD на таблице ключей.
Когда я перестану Node1 и попытаться обновить/создать строку из Node4 или node3, получить следующее сообщение об ошибке, хотя node3 и Node4 являются и running-:
All host(s) tried for query failed (tried: /192.168.0.4:9042 (com.datastax.driver.core.exceptions.DriverException: Timeout while trying to acquire available connection (you may want to increase the driver number of per-host connections))) com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /192.168.0.4:9042 (com.datastax.driver.core.exceptions.DriverException: Timeout while trying to acquire available connection (you may want to increase the driver number of per-host connections)))
Я не уверен, как Cassandra выбирает лидера если лидерный узел умирает.
Нет концепции лидера в cassandra ... проверьте, можете ли вы установить telnet на хост (192.168.0.4) на порт 9042 –
Не могли бы вы предоставить более подробную информацию о уровне согласованности, используемом для quearies (это оказывает огромное влияние на поведение вы ожидаете)?Используете ли вы драйвер или используете cqlsh? –
@undefined_variable .... да Я могу telnet с моего локального рабочего стола на все узлы на порту 9042. – UAnand