Ошибка кластера Cassandra при выполнении запроса выбора - PullRequest
0 голосов
/ 25 января 2019

I Создайте кластер cassandra с 3 узлами, ниже приведены настройки для файла cassandra.yaml.

Node 1:
cluster_name: 'My Cluster'
num_tokens: 256
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
    - seeds: 10.0.0.1, 10.0.0.2
listen_address: 10.0.0.1
native_transport_address: 10.0.0.1
native_transport_broadcast_address:1.2.3.4
endpoint_snitch: GossipingPropertyFileSnitch

Node 2:
cluster_name: 'My Cluster'
num_tokens: 256
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
    - seeds: 10.0.0.1, 10.0.0.2
 listen_address: 10.0.0.2
 native_transport_address: 10.0.0.2
 native_transport_broadcast_address:1.2.3.4
 endpoint_snitch: GossipingPropertyFileSnitch

Node 3:
cluster_name: 'My Cluster'
num_tokens: 256
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
    - seeds: 10.0.0.1, 10.0.0.2
listen_address: 10.0.0.3
native_transport_address: 10.0.0.3
native_transport_broadcast_address:1.2.3.4
endpoint_snitch: GossipingPropertyFileSnitch

Также изменил файлы cassandra-rackdc.properties для всех узлов как

Node1: 
dc=dc1
rack=rack1

Node2:
dc=dc1
rack=rack1

Node3:
dc=dc1
rack=rack2

Я запустил службу dse, и мои три узла в рабочем состоянии и отображаются как "UN" для всех 3 узлов.

Сейчас я пытаюсь создать пространство ключей и таблицы. При создании пространства клавиш я использую приведенную ниже команду.

 CREATE KEYSPACE IF NOT EXISTS IntelliDish WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'dc1': '1'} AND DURABLE_WRITES = false;

При этом я получил это предупреждение:

Warning: schema version mismatch detected; check the schema versions of your nodes in system.local and system.peers.

А потом я создал таблицы и получил то же самое предупреждение. И когда я запускаю команду select * from my_table, появляется ошибка belwo.

ReadFailure: Error from server: code=1300 [Replica(s) failed to execute read] message="Operation failed - received 0 responses and 1 failures (UNKNOWN_TABLE=[/10.0.0.3])" info={'failures': 1, 'received_responses': 0, 'error_code_map': {'10.0.0.3': '0x0005'}, 'required_responses': 1, 'consistency': 'ONE'}.

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

Выход nodetool describecluster:

Cluster Information:    
    Name: Intellidish
    Snitch: org.apache.cassandra.locator.GossipingPropertyFileSnitch 
    DynamicEndPointSnitch: enabled
    Partitioner: org.apache.cassandra.dht.Murmur3Partitioner
    Schema versions: 407c57b2-94c9-33ed-80e2-b619ca5bfca1: [172.31.6.202, 172.31.7.89]
                     809561be-284f-3129-99ba-94fee6a364c6: [172.31.0.138]

1 Ответ

0 голосов
/ 25 января 2019

В принципе, существует несогласие со схемой. Это может произойти, когда сеть является или была проблематичной. Схема хранится так же, как данные в любой другой таблице, за исключением того, что она должна быть согласованной для всех узлов. Когда пространство клавиш или таблица добавляются / редактируются, и один узел не может быть достигнут, это то, что происходит.

Способ обойти это - сбросить Кассандру на пораженный узел. Если версии схемы по-прежнему не совпадают, попробуйте отскок всех узлов. Если это не сработает, выведите из строя неисправный узел, вытрите его и снова добавьте в кластер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...