Мне удалось настроить рабочий кластер.
Как отметил Михахбхакти в своем ответе , я пытался использовать только новые инструменты MemSQL вместо устаревших MemSQL Ops. Это потребовало удаления агента MemSQL, существующего на обоих серверах, а затем следуя инструкциям в документации MemSQL. Вот шаги, которые я предпринял для тех, кто борется с этой проблемой, которая лучше описывается как: Мой MemSQL-Ops-managed-MemSQL-кластер не отвечает. Как я могу обновить его до рабочего MemSQL-tools-managed-cluster?
1. Сохранить, какие данные вы можете
Следующим шагом является удаление всех данных memsql, поэтому было бы лучше, если бы вы могли сохранить свои данные. Данные таблицы могут быть легко сохранены в файлах CSV с помощью простого
SELECT * FROM important_data_containing_table INTO OUTFILE '/home/yourfolder/yourcsvfile.csv';
Сделайте это для всех таблиц, содержащих важные данные. Вы также можете сохранить саму схему. Вы можете сделать это, просмотрев и скопировав в другой файл все запросы на создание, которые вы использовали для первоначального создания таблицы, чтобы выполнить их позже. Используйте это
SHOW CREATE TABLE your_table_name
Документация для mysql описана здесь . Возможно, он не похож на синтаксис, используемый в mem, но приведенная выше базовая команда работает. Для получения точной информации читайте о функциях MySQL, не поддерживаемых в MemSQL .
2. Удалите все, что связано с Memsql-Ops
Как сказано здесь о команде uninstall
:
Останавливает локальный агент MemSQL Ops и удаляет все его данные.
Если узлы MemSQL уже установлены на локальном хосте, эта команда предложит пользователям сначала удалить эти узлы, прежде чем продолжить удаление.
И действительно, если есть запущенный узел (в моем случае это было), вам будет предложено запустить другую команду для удаления этих узлов: memsql-ops memsql-delete --all
. Это удалит все данные в вашей базе данных, как указано в документации :
Удаляет все данные для узла MemSQL. Эта операция необратима и может привести к потере данных. Пользователям, которые хотят выполнить эту операцию, предлагается явно набрать «УДАЛИТЬ», чтобы быть уверенным в своем решении.
Вот почему я попросил вас сохранить то, что вам нужно:)
Это должно быть сделано для каждого хоста, который вы хотите включить в свой новый блестящий кластер.
3. Следуйте инструкциям по созданию нового кластера с использованием инструментов MemSQL
После очистки серверов от устаревшего агента и данных MemSQL вы можете следовать инструкциям здесь . Я решил настроить комплексную настройку нескольких хостов. Процесс попросит вас зарегистрировать хосты, а затем настроить роли узлов (главный агрегатор, аггрегаторы и листы), IP-адреса, пароли, порты и т. Д.
После этого вы можете попробовать протестировать кластер, внести изменения на одном компьютере и просмотреть их на другом. Кроме того, вывод для memsql-admin list-nodes
на машине для моего кластера был:
+------------+------------+--------------+------+---------------+--------------+---------+----------------+--------------------+
| MemSQL ID | Role | Host | Port | Process State | Connectable? | Version | Recovery State | Availability Group |
+------------+------------+--------------+------+---------------+--------------+---------+----------------+--------------------+
| AAAAAAAAAA | Master | 172.26.32.20 | 3306 | Running | True | 6.7.16 | Online | |
| BBBBBBBBBB | Aggregator | 172.26.32.22 | 3306 | Running | True | 6.7.16 | Online | |
| CCCCCCCCCC | Leaf | 172.26.32.20 | 3307 | Running | True | 6.7.16 | Online | 1 |
| DDDDDDDDDD | Leaf | 172.26.32.22 | 3307 | Running | True | 6.7.16 | Online | 1 |
+------------+------------+--------------+------+---------------+--------------+---------+----------------+--------------------+
4. Восстановить данные
Повторно выполнить все запросы на создание таблиц, сохраненные на шаге 1, и импортировать все данные, экспортированные в csv, используя этот синтаксис:
LOAD DATA INFILE '/home/yourfolder/yourcsvfile.csv' INTO TABLE your_table;
И это все! Теперь вы можете управлять кластером, используя новую студию MemSQL, которая работает по умолчанию http://your_deployment_machine:8080
.
Наслаждайтесь:)