1 заметка с тегом

Database

Установка MemSQL Cluster

Для тестовой конфигурации понадобится нечётное количество серверов — от 3-х и выше (желательно больше). Где будет 1-н master сервер, а остальные leafs. Все операции по установке кластера будут проводиться именно на master сервере, но предварительно надо подготовить все хосты.

Pre-install

Добавляем пользователя на все хосты:

sudo adduser memsql

Добавляем ему права на sudo:

sudo usermod -aG sudo memsql

Генерируем ssh-ключ будучи под пользователем memsql на master сервере:

ssh-keygen

В качестве наименования ключа указываем «~/clusterkey»:

Enter file in which to save the key (/home/memsql/.ssh/id_rsa): ~/clusterkey

Включаем авторизацию по паролю на всех серверах в GCP (опционально, т. к. авторизация была по дефолту отключена)
Открываем /etc/ssh/sshd_config и указываем:

PasswordAuthentication yes

Рестартуем сервис:

sudo service sshd restart

Шарим этот ключ между остальными хостами:

ssh-copy-id -i ~/clusterkey memsql@<host_ip>

Installation

Подключаемся к master серверу и переходим в папку tmp, куда будем стягивать пакеты:

cd /tmp

Стягиваем json файл с ссылками на нужную нам версию:

wget -O - 'https://release.memsql.com/production/index/memsqlserver/latest.json' // последняя версия

или

wget -O - 'https://release.memsql.com/production/index/memsqlserver/6.7.1.json' // версия 6.7.1 (протестированная ранее)

Стягиваем пакеты по ссылкам, которые получили в json:

wget https://release.memsql.com/production/debian/pool/memsql-server_6.7.1_146ae8d333_amd64.deb
wget https://release.memsql.com/production/debian/pool/memsql-client_1.0.0_97f4a09591_amd64.deb
wget https://release.memsql.com/production/debian/pool/memsql-toolbox_1.0.1_ba197a7975_amd64.deb
wget https://release.memsql.com/production/debian/pool/memsql-studio_1.3.3_5820419148_amd64.deb

Проверяем хеш-суммы пакетов:

ls | grep memsql- | xargs -I % sha256sum %

Устанавливаем client, studio и toolbox на мастер сервере:

sudo dpkg -i memsql-client_1.0.0_97f4a09591_amd64.deb
sudo dpkg -i memsql-studio_1.3.3_5820419148_amd64.deb
sudo dpkg -i memsql-toolbox_1.0.1_ba197a7975_amd64.deb

Проверяем, установились ли пакеты:

apt search memsql

Регистрируем все хосты в toolbox:

memsql-toolbox-config register-host --localhost --host 172.25.10.6
memsql-toolbox-config register-host --identity-file ~/clusterkey --host 172.25.10.7
memsql-toolbox-config register-host --identity-file ~/clusterkey --host 172.25.10.8
…
memsql-toolbox-config register-host --identity-file ~/clusterkey --host X.X.X.X
memsql-toolbox-config list-hosts

Разворачиваем memsql-server на всех хостах:

memsql-deploy install --file-path /tmp/memsql-server_6.7.1_146ae8d333_amd64.deb --all

Создаём мастер ноду и даём ей роль агрегатора:

memsql-admin create-node --host 172.25.10.6
memsql-admin bootstrap-aggregator --memsql-id <master_ memsqlID> --license <license_code>

Добавляем остальные ноды:

memsql-admin create-node --host 172.25.10.7
memsql-admin create-node --host 172.25.10.8
…
memsql-admin create-node --host X.X.X.X

Добавляем роль Лифов на остальные ноды:

memsql-admin add-leaf --memsql-id XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
memsql-admin add-leaf --memsql-id XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
…
memsql-admin add-leaf --memsql-id XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Смотрим список всех нодов:

memsql-admin list-nodes

Запускаем оптимизацию нод:

memsql-admin optimize

Запускаем web-морду на мастер ноде:

sudo systemctl start memsql-studio

Меняем пароль root пользователя на свой:

memsql-admin change-root-password --memsql-id <master_ memsqlID> --password <new_password>

Альтернативные способы развёртывания можно найти в этой документации: Guides → Install MemSQL
На этом, в принципе, всё.

2019   Database   Linux   MemSQL