Устанавливаем Clickhouse на AWS
⏱ Время чтения текста – 7 минутСегодня поработаем с Clickhouse — поставим его на личную бесплатную машину с Amazon Web Services.
Аккаунт на AWS и машина на Ubuntu
Проще всего Clickhouse установить из deb пакетов на машину под управлением Ubuntu. Сегодня вовсе необязательно иметь такую под рукой — достаточно создать годовой бесплатный аккаунт на Amazon Web Services, который выделит нам нужную машину. Переходим на https://aws.amazon.com и создаём аккаунт и попадаем в Dashboard. В разделе «Build a solution» идём в «Launch a virtual machine» и подбираем виртуальную машину. Нам подойдёт та, на которой установлен Ubuntu Server.


Заодно создаём key pair — пара состоит из публичного ключа AWS и приватного ключа-файла. Последний нужно сохранить у себя на компьютере для подключения к машине.

После откроется консоль EC2, где уже будет запущен наш Instance виртуальной машины. У него есть public dns — сохраняем его.
Подключаемся через Termius
Подключаться к виртуальной машине будем через протокол удалённого доступа ssh. Есть много клиентов, поддерживающих этот протокол — я буду использовать Termius. Жмём на «+ NEW HOST» и заполняем информацию.
В поле address вводим наш public dns, который заранее сохранили. В Username вводим «ubuntu», поле пароля оставляем пустым. Чтобы заполнить Key нужно добавить новый ключ — то есть, указать путь к файлу с расширением .pem, который мы получили при создании новой виртуальной машины. Должно получиться что-то такое:


Сразу после авторизации подключаемся к машине и получаем новый экран с консолью:

Для начала установим Clickhouse — это быстро. Выполним следующую команду, чтобы добавить репозиторий Clickhouse к нашим APT репозиториям:
Подробнее со всеми способами установки Clickhouse можно ознакомиться в документации
echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | sudo tee /etc/apt/sources.list.d/clickhouse.list
Обязательно обновляем пакеты:
sudo apt-get update
Наконец, установим клиент и сервер командой:
sudo apt-get install -y clickhouse-server clickhouse-client
Готово! Клиент и сервер Clickhouse установлены на виртуальной машине. Запустим сервер, чтобы подсоединиться позже через клиент:
sudo service clickhouse-server start
И проверим успешность запуска командой:
sudo service clickhouse-server status
Получим примерно такой результат:

Clickhouse установлен! Для подключения к клиенту необходимо ввести:
clickhouse-client

Чтобы убедиться, что всё работает как надо, документация предлагает ввести запрос
SELECT 1
Вот, что мы должны получить:

Готово! А в следующем материале поработаем в связке Python + Clickhouse: вернёмся к нашему скрипту, который получает информацию по рекламным кампаниям и сделаем так, чтобы эти данные собирались в таблицу и материализованное представление.
А зачем это нужно? Чтобы скрипты туда закидывать и все автоматом работало?
Вопрос непонятен. Зачем нужно что? :)
Зачем создавать личную бесплатную машину с Amazon Web Services, а потом ставить на нее Clickhouse? Чтобы в автоматическом режиме через питон эспортировать данные, да? Или для чего-то еще это нужно?
Мы на примере этой статьи иллюстрируем работу с актуальной колоночной СУБД.
Автоматический режим тут не причем, это просто выбранная СУБД и рассказ о том, как ее установить. Далее, да, будем взаимодействовать с ней и складывать в нее данные, рассказывая о функционале.
опечатка в «Для подключения к клиенту необходимо ввести: clickhouse client»
пропущено тире. clickhouse-client
Вы правы. Спасибо большое, поправили!
Здравствуйте! Подскажите, пожалуйста, можно ли в таком случае подключаться к clickhouse через datagrip или что-то такое, а не через консоль?
Да, конечно, можно