Преобразование с использованием репликации с учетом стойки: различия между версиями
YaPolkin (обсуждение | вклад) (Новая страница: «Этот метод полезен для небольших управляемых кластеров Ключ-АСТРОМ, где один узел может...») |
Lobanov (обсуждение | вклад) |
||
Строка 33: | Строка 33: | ||
* Подготовьте кластер для добавления узлов в разные стойки. | * Подготовьте кластер для добавления узлов в разные стойки. | ||
На каждом из существующих узлов отредактируйте <code>/etc/ | На каждом из существующих узлов отредактируйте <code>/etc/<conf-name>.conf</code> и настройте следующие параметры: | ||
<code>CASSANDRA_NODE_RACK = rack1</code> | <code>CASSANDRA_NODE_RACK = rack1</code> | ||
Строка 41: | Строка 41: | ||
<code>ELASTICSEARCH_NODE_RACK = rack1</code> | <code>ELASTICSEARCH_NODE_RACK = rack1</code> | ||
Выполните <code>sudo | Выполните <code>sudo reconfigure.sh</code> , чтобы применить изменения конфигурации для узла кластера. | ||
* Подготовьте новую(ые) ноду(ы). | * Подготовьте новую(ые) ноду(ы). | ||
Строка 60: | Строка 60: | ||
Используйте процедуру Добавить новый узел кластера и добавьте параметры <code>--rack-name</code> и <code>--rack-dc</code> к команде установки. Например: | Используйте процедуру Добавить новый узел кластера и добавьте параметры <code>--rack-name</code> и <code>--rack-dc</code> к команде установки. Например: | ||
<code>/bin/sh | <code>/bin/sh <managed-installer-name>.sh --seed-auth abcdefjhij1234567890 --rack-name rack2 --rack-dc datacenter1</code> | ||
Подождите, пока узел полностью не присоединится к кластеру. В зависимости от размера вашей базы данных, загрузка Cassandra может занять несколько дней. | Подождите, пока узел полностью не присоединится к кластеру. В зависимости от размера вашей базы данных, загрузка Cassandra может занять несколько дней. |
Текущая версия на 17:12, 15 марта 2022
Этот метод полезен для небольших управляемых кластеров Ключ-АСТРОМ, где один узел может содержать полную реплику. Если ваше текущее хранилище метрик (база данных Cassandra) на узел превышает 1 ТБ, используйте метод восстановления кластера. Вы можете использовать существующие узлы для постепенной (один за другим) их переустановки с параметром «поддержка стойки». При желании вы можете использовать дополнительное оборудование в качестве новых узлов и удалить один узел при установке нового узла с параметром «поддержка стойки».
Преимущество этого подхода заключается в том, что он не влияет на доступность кластера, однако для поддержания доступности кластера необходимо разрешить управляемому кластеру использовать собственные методы репликации для обеспечения сохранения данных. Следует учитывать, что удаление и добавление узла в кластер требует времени. Это время зависит от размера вашего метрического хранилища и скорости вашего диска или сети. Некоторые операции с кластером могут занять даже один-два дня. Управляемый кластер предотвратит все другие операции кластера в течение этого времени (добавление и удаление узлов, обновление и резервное копирование). Если вы решили выполнить переустановку на существующем хосте, подождите 72 часа, прежде чем повторно подключать этот хост к кластеру.
Подготовка
- Подготовьте базу данных Cassandra для распространения реплик по кластеру (требуется Python 2.7).
На одном из существующих узлов измените пространство клавиш, чтобы изменить настройки снитча, используя Cassandra CQL:
sudo <managed-installation-dir>/cassandra/bin/cqlsh <node_IP>
Где <managed-installation-dir>
- это каталог управляемых двоичных файлов Ключ-АСТРОМ, а <node-IP>
- это IP-адрес текущего узла (узел, который вы используете в данный момент).
В результате вы попадете в оболочку CQL:
Connected to 00aa0a0a-1ab1-11a1-aaa1-0a0a0aa1a1aa at xx.xxx.xx.xxx:9042.
[cqlsh 5.0.1 | Cassandra 3.0.23 | CQL spec 3.4.0 | Native protocol v4]
Use HELP for help.
cqlsh>
Затем выполните:
ALTER KEYSPACE ruxitdb WITH REPLICATION = {'class': 'NetworkTopologyStrategy', 'datacenter1':3};
Когда закончите, введите: exit
- Подготовьте кластер для добавления узлов в разные стойки.
На каждом из существующих узлов отредактируйте /etc/<conf-name>.conf
и настройте следующие параметры:
CASSANDRA_NODE_RACK = rack1
CASSANDRA_NODE_RACK_DC = datacenter1
ELASTICSEARCH_NODE_RACK = rack1
Выполните sudo reconfigure.sh
, чтобы применить изменения конфигурации для узла кластера.
- Подготовьте новую(ые) ноду(ы).
Убедитесь, что раздел диска, выделенный для хранилища Cassandra на новом узле, достаточен для размещения всей базы данных Cassandra (с запасом для сжатия и новых данных). Размер диска должен быть как минимум вдвое больше объединенных хранилищ Cassandra всех существующих узлов кластера. Рекомендуется размещать данные Cassandra на отдельном томе, чтобы избежать проблем с дисковым пространством, связанных с различными типами данных.
- Убедитесь, что настройки стойки правильно соответствуют физическим стойкам и центрам обработки данных. В идеале в конце всего преобразования в каждой стойке должно быть равное количество узлов.
Расширение кластера на новые стойки
Во время первоначального развертывания Ключ-АСТРОМ Managed все узлы кластера по умолчанию сгруппированы в единую стойку по умолчанию, размещенную в центре обработки данных по умолчанию. Даже если ваше развертывание не поддерживает стойки, все узлы уже находятся в datacenter1
rack1
. Чтобы избежать добавления нового узла в стойку по умолчанию, не используйте rack1
в качестве значения параметра --rack-name
для новой стойки.
Если вы конвертируете кластер в том же центре обработки данных, используйте значение параметра datacenter1 по умолчанию.
Расширить кластер на новые стойки
1. Добавьте в кластер новый узел с параметрами стойки.
Используйте процедуру Добавить новый узел кластера и добавьте параметры --rack-name
и --rack-dc
к команде установки. Например:
/bin/sh <managed-installer-name>.sh --seed-auth abcdefjhij1234567890 --rack-name rack2 --rack-dc datacenter1
Подождите, пока узел полностью не присоединится к кластеру. В зависимости от размера вашей базы данных, загрузка Cassandra может занять несколько дней.
Подсказка
Если узел испытывает трудности с поддержанием загрузки данных, вы можете временно остановить процесс сервера Ключ-АСТРОМ на этом узле и освободить больше циклов ЦП для Cassandra.
2. Добавьте еще один узел в ту же стойку с такими же параметрами стойки.
На этот раз ожидается, что загрузка Cassandra будет быстрее.
3. Продолжайте добавлять новые узлы в rack2
. Как только у вас будет достаточное количество узлов в rack2
(1/3 размера целевого кластера), начните добавлять новые узлы с параметрами стойки в rack3
, учитывая требования к дисковому пространству.
4. Как только у вас будет достаточное количество узлов в стойке rack3
, начните удаление исходных узлов, которые были настроены без поддержки стойки (расположены в стойке по умолчанию rack1
).
Когда преобразование будет завершено, вы увидите стойки на странице состояния развертывания в консоли управления кластером: