Сергей Дрель

Маленькое захолустье о мыслях обо всём.

Установка 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
На этом, в принципе, всё.

 3   5 мес   Database   Linux   MemSQL

Indila — Run Run (Live — Paris)

Я, конечно, не особый поклонник французской эстрады, но иногда подобные выступления удивляют своим качеством. Кстати, данная запись на порядок лучше той, что была записана в студии звукозаписи. =)

 4   2018   Indila   Live   Music   YouTube   Видео
 3   2018   Imagine Dragons   Music   YouTube   Видео

Python: среда разработки и первые азы

Многие задумываются о том, если ли вообще хоть какой-нибудь смысл изучать Python. Хотя это, наверное, относится ко всем языкам программирования. Любому начинающему хочется знать всё и сейчас и я не исключение. Но правда такова, что для начинающих это прямо жизненная дилемма, т. к. если где-нибудь оступишься на этапе обучения, то можно и не доучить — желания не хватит.

Популярность языков варьируется от технологических новшеств. Поэтому, приходится заглядывать в ближайшее будущее и стараться узреть в нём себя как HTML Python программиста, опирая хоть на какое-нибудь представление (аналитика? нет, не слышал) того, как этот язык будет прогрессировать/регрессировать. Ведь согласитесь, будет неприятно, если вы начнёте изучать объёмный материал по C#, который через год-два уже будет не актуален. Это конечно фантастика, но всё же.

Уж так исторически сложилось, что в работе надо было всё и по чуть-чуть. Это не позволяло в полной мере постичь «дзэн» в том или ином направление. Сейчас же, для меня встал вопрос надобности Python-а, поскольку текущий вектор развития — DevOps. PowerShell и Bash — хорошие инструменты автоматизации и их в принципе достаточно, но хотелось бы большего.

В качестве IDE был выбран Visual Studio Code и расширение к нему Python. Да, надо немного повозиться, но оно того стоит.

Для того, чтоб была возможность запускать код в режиме отладки, надо добавить новую конфигурацию, если автоматически не вышло:

{
     "name": "Python: Launch Current File",
     "type": "python",
     "request": "launch",
     "program": "${file}",
 },

Далее, для работы понадобится сам Python 3.7.0. Ваша версия может отличаться — не беда. Устанавливаем, добавляем путь к интерпретатору в переменные среды (Env. Path)

Пробуем выполнить наш элементарный код:


a = "Hello "
b = "World"
c = "!"
print (a + b + c)

И вуаля! Всё должно работать. Единственное, с чем имеется проблема, так с это с кодировкой кириллицы во вкладке «Вывод», а во кладке «Терминал» всё OK. Конечно, при желание это всё фиксится.

Полезные сайты и литература:
Обзор литературы по языку Python для начинающих;
SoloLearn (как для ПК, так и для телефона);
Python 3 для начинающих и чайников;
Уроки Python для начинающих — itProger (видеокурс, правда задачки платные);
Ленивый питон (ещё один видеокурс).

 4   2018   Code   DevOps   IDE   Python

MyTetra: кладезь знаний

У вас, случаем, никогда не возникало желания записывать что-либо полезное в блокнот? Начиная от рецептов или теми же мануалами по решению тех или иных проблем. Лично меня оно всегда одолевало. Я создавал с десяток новых тематических папок в браузере и забрасывал их ссылками на полезные статьи, которые могли бы решить ту или иную мою проблему в будущем. Но, что делать, если у вас под рукой нет интернета? Это, конечно, редкость в текущих реалиях, но всё же. Удобно было бы иметь при себе портативную базу полезных советов без регистрации и СМС. :D

Вот для таких случаев я и открыл для себя MyTetra. Это свободное ПО, которое может решить ряд возложенных на неё задач. К сожалению, автор её подзабросил и обновления начиная с 2016 года уже не выходят. При всём этом, есть возможность скачать исходники программы и «допилить» на свой вкус. Мало ли, может найдутся и такие. Так или иначе, на данный момент она полностью функциональна — бери и пользуйся, пока дают.

Сайт программы: MyTetra

 3   2017   MyTetra   OpenSource   Программа
Ранее Ctrl + ↓