Как сгенерировать токены multidatacenter для модуля разделения murmur3

У меня было кольцо cassandra с 3 узлами, кольцо hadoop с 3 узлами и кольцо solr с 3 узлами, все они находятся в одном кластере.

Мой план состоит в том, чтобы записать данные в кольцо cassandra, и, используя репликацию cassandra DC, я реплицирую данные в другие два кольца (Hadoop и solr).

Я использовал vnodes для кольца cassandra, и мне нужно использовать токены для hadoop и solr, потому что vnodes не поддерживаются для hadoop / solr.

Мой вопрос в том, как сгенерировать несколько токенов центра обработки данных для партионатора murmur3?


person Rock    schedule 29.01.2014    source источник
comment
Тот же вопрос, что и этот. Сначала я попытался использовать один и тот же набор токенов в каждом DC (например, DC1 использует токены A, B, C; DC2 также использует токены A, B, C). Но кажется, что токен должен быть уникальным для всего кластера, потому что, когда вы пытаетесь запустить другой узел, который повторно использует токен существующего узла из другого DC, этот другой узел исчезает из кольца (как в OpsCenter, так и в статусе nodetool). ). Я тоже использую Murmur3Partitioner   -  person PJ.    schedule 08.06.2014


Ответы (2)


В настройке Multi-DC вы можете выбрать один DC и рассчитывать токены равномерно для узлов в одном DC. Узлы в других DC будут иметь такие же токены + некоторое смещение, так что токены будут уникальными. Пакет Cassandra как инструмент, который поможет вам вычислить токены:

https://www.geroba.com/cassandra/cassandra-token-calculator/ < / а>

person Arya    schedule 29.01.2014
comment
Инструмент генератора токенов предназначен для произвольного разбиения на разделы. Использую разделитель murmur3. Итак, у меня было 3 узла в hadoop и 3 узла в solr. Могу ли я рассчитать токены для 6 узлов и распределить между ними? - person Rock; 30.01.2014

TL; DR;
Используйте vnodes, расчет токенов выполняется за вас.

Вы бы сделали это обычно, но затем просто добавили бы 100 (любое значение от 100 до 1000 позволяет вам терпеть неудачу при начальной загрузке более 10 раз, не беспокоясь о проблемах, когда новые узлы автоматически присоединяются при предыдущей попытке к токенам во второй DC. (Спасибо Хоакину!))

Например. (обратите внимание на последние 3 цифры в каждом токене)

DC1

  1. -9223372036854775808
  2. -3074457345618258603
  3. 3074457345618258602

DC2

  1. -9223372036854775708
  2. -3074457345618258503
  3. 3074457345618258502

Старые документы, но все еще действительны.

person Lyuben Todorov    schedule 11.02.2014
comment
но это не для токена murmur3partitioner? / его для randompartitioner - person Ashish Ratan; 07.03.2014
comment
Обратите внимание, что -9223372036854775808 является абсолютным основанием диапазона Murmur3, поэтому нажатие 3-й правой цифры на 9 делает его недопустимым значением, так как теперь у вас -2 ^ 63-100. - person stinkymatt; 17.04.2014