Cassandra с DR DC имеет неожиданное неравномерное распределение данных

Мы пытаемся подготовить кластер Cassandra для использования в качестве хранилища KV.

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

Используя PropertyFileSnitch, мы имеем

 10.1.1.1=DC1:R1
 10.1.1.2=DC1:R1
 10.1.1.3=DC1:R1
 10.2.1.1=DC2:R1

Мы планируем использовать пространство ключей со следующим определением:

CREATE KEYSPACE "cassandraKV"
  WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'DC1' : 2, 'DC2' : 1};

Для достижения следующего: 2 реплики распределены между 3 узлами в DC1 (66% от общего объема данных на узел), при этом один узел может выйти из строя без потери данных. 1 реплика в DC2 (100 % от общего объема данных на узел)

Мы видим, что доля владения распределяется по 25 % на узел, в то время как мы ожидаем 33 % на каждый узел в DC1 и 100 % в DC2.

Верна ли приведенная выше конфигурация?

Спасибо


person Vlassios    schedule 17.03.2014    source источник


Ответы (1)


Я предполагаю, что вы запустили статус nodetool без указания пространства ключей. В конечном итоге это просто покажет вам общее распределение токенов в вашем кластере, которое не будет репрезентативным для вашего пространства ключей «cassandraKV».

При запуске статуса nodetool «cassandraKV» вы должны увидеть

Datacenter: DC1

10.1.1.1: 66%
10.1.1.2: 66%
10.1.1.3: 66%

Datacenter: DC2

10.2.1.1: 100%

Вы должны увидеть 66% для узлов DC1, потому что каждый узел содержит 1 копию своего основного диапазона (33%) и одну копию того, что он реплицирует (33%).

В то время как DC2 имеет 100% всех данных, которые вы сейчас храните.

person RussS    schedule 17.03.2014