Я выполнил следующие шаги, чтобы перенести все данные из одного кластера в совершенно новый кластер: 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
уникальны для каждого узла. Я хочу быть уверенным, так как я впервые встречаюсь с Кассандрой.
Кажется, что после инициализации кластера initial_token
значение записывается где-то внутри структуры Cassandra. Даже после перезапуска всего нового кластера без initial_token
директиве, кластер работает нормально, и я получаю точно такие же токены с той же процедурой, что и в старом кластере.
Похоже, что после стабилизации вы можете удалить initial_token
из cassandra.yaml
файл.