Первоначальный токен Cassandra в cassandra.yaml
Я выполнил следующие шаги, чтобы перенести все данные из одного кластера в совершенно новый кластер: http://datascale.io/cloning-cassandra-clusters-fast-way/
Мне удалось доставить все данные в новый кластер, серверы видят друг друга, отчет о состоянии nodetool сообщает обо всех узлах как UN
, Тем не менее, у меня есть вопрос, в одном из абзаца initial_token
значения берутся из узлов и копируются один на один на новые серверы, и мне пришлось добавить JVM_OPTS="$JVM_OPTS -Dcassandra.load_ring_state=false"
, Я полагаю JVM_OPTS
можно отказаться сейчас, но я не уверен в initial_tokens
?
Вся моя конфигурация управляется Puppet, и теперь я не уверен, initial_tokens
нужны, когда кластер заполнен и инициализирован? Манифесты очень чистые, и это добавит ненужных осложнений, так как значения inital_tokens
уникальны для каждого узла. Я хочу быть уверен, так как я впервые имею дело с Кассандрой.
1 ответ
Похоже, что после инициализации кластера значение initial_token записывается где-то внутри структуры Cassandra. Даже после перезапуска всего нового кластера без директивы initial_token кластер работает нормально, и я получаю точно такие же токены с той же процедурой, что и на старом кластере. Похоже, что после того, как все стабилизируется, вы можете удалить initial_token из файла cassandra.yaml.