ClickHouse

Настройка ClickHouse в Яндекс.Облаке

Комментариев:
4
Материал обновлен:
31:10:2018
Соц. сети:
_

Рассмотрим вариант создания своего хранилища (базы данных) ClickHouse в Яндекс.Облаке

После того, как вы пройдете авторизацию на Яндекс.Облаке вам (при первом обращении к сервису) понадобится создать платежный аккаунт. Без него вы не сможете использовать Яндекс.Облако. Для создания платежного аккаунта необходимо выбрать его тип и заполнить форму. Яндекс предоставляет пробный период на 180 суток или 4000 руб. на созданный аккаунт, этого должно хватить, чтобы вы приняли для себя решение о вашей потребности в использовании этого сервиса. Итак, платежный аккаунт создан, можно перейти к настройке (созданию) базы данных ClickHouse в Яндекс.Облаке.

Первым делом выберите каталог, в котором будете работать, по умолчанию default:

Выбор каталога в Яндекс.Облаке

Выбор каталога в Яндекс.Облаке

Отобразиться Панель управления, в которой вы можете переключаться между различными сервисами Яндекс.Облака:

  • Yandex Compute Cloud
  • Yandex Managed Databases
  • Yandex Object Storage
  • Yandex Virtual Private Cloud

Информация по сервисам доступна в документации Яндекс.Облака, нам же для создания базы данных ClickHouse потребуется Yandex Managed Databases.

Для того чтобы создать базу данных ClickHouse в Yandex Managed Databases необходимо нажать на кнопку Создать ресурс, затем выбрать Кластер баз данных и указать ClickHouse:

Создание ClickHouse в Яндекс.Облаке

Создание ClickHouse в Яндекс.Облаке

В окне создания новой базы данных ClickHouse в Яндекс.Облаке необходимо указать ряд параметров, таких как Имя кластера, Описание и других. Несколько слов об окружении. Доступны на выбор два варианта (описание из документации):

  • productio — для стабильных версий ваших приложений
  • prestable — для тестирования, в том числе самого сервиса MDB. Prestable-окружение обновляется чаще, из-за чего в нем раньше исправляются уже известные проблемы, но могут происходить обратно несовместимые изменения.

Далее выбираете класс базы данных:

Выбор класса БД ClickHouse в Яндекс.Облаке

Выбор класса БД ClickHouse в Яндекс.Облаке

и размер хранилища. Более гибкое сетевое (network-nvme) или более быстрое локальное SSD-хранилище (local-nvme). После этого указывается имя базы данных и пользователя, а также пароль для подключения к базе данных. Обязательно сохраните эту информацию, она вам пригодится для подключения к базе данных.

Заканчивается настройка базы данных ClickHouse в Яндекс.Облаке указанием необходимых сетевых настроек. Подробнее о возможных вариантах вы сможете узнать из справки. Обратите внимание, что если вы хотите получить доступ к вашей базе данных ClickHouse, размещенной в Яндекс.Облаке из вне (например, не с виртуальной машины, которая также расположена в Яндекс.Облаке), то необходимо включить переключатель Публичный доступ, по умолчанию он отключен!

Настройка публичного доступа

Настройка публичного доступа

Проверьте еще раз все настройки, запишите пароль и имя пользователя с базой данных и если все указано правильно жмите на Создать кластер, через некоторое время он будет создан и вы получите свою базу данных ClickHouse в Яндекс.Облаке.

Как работать с созданной базой данных? Вы можете настроить в нее импорт данных, например Logs API Яндекс Метрики. Но для того, чтобы работать с ней, необходимо к ней подключиться. Как выполнить подключение? Я расскажу про наиболее простой способ, это Tabix.io . Кто работал или работает с ClickHouse знает об этом инструменте.

Первым делом нам нужно узнать, какой публичный ip адрес у нашего кластера. Перейдите к нужному кластеру и в меню слева выберите Хосты, отобразиться список доступных хостов для кластера. Обратите внимание на столбец Адрес (доменное имя):

Настройки хостов

Настройки хостов

Скопируйте его и откройте консоль на вашем компьютере. В Windows для этого нужно строке поиска ввести cmd, далее указываете команду:

ping адрес_(доменное_имя)

Пример:

Определение публичного ip адреса

Определение публичного ip адреса

На изображении стрелкой указан ip адрес, который вы можете использовать как публичный, для доступа к базе данных (кластеру) ClickHouse в Яндекс.Облаке.

Теперь у нас есть все данные, которые необходимы для подключения к базе данных, а именно:

  • ip адрес, получили выше;
  • имя базы данных, имя пользователя и пароль, указали при создании базы данных.

Переходим на Tabix.io , в меню выбираем RUN UI (или можете перейти сразу на ui.tabix.io) и заполняем форму для подключения:

Подключение к Tabix

Подключение к Tabix

Обратите внимание, что в поле, где необходимо прописать ip, в нашем случае, к адресу добавляется порт 8443, а также протокол http или https:

https://ваш_ip_адрес_сервера:8443

Заполняем форму (я рекомендую работать с ней в режиме инкогнито) и нажимаем Sign In, если все указано верно, то отобразится список доступных баз данных и окно для выполнения SQL запросов. Поздравляю, вы успешно создали, настроили и подключились к вашей базе данных ClickHouse в Яндекс.Облаке.

Это не единственный способ подключения, в документации описаны и другие варианты, но мне как специалисту, который работает с базой, этот кажется наиболее удобным (для моих целей).

Если вам понадобится добавить пользователей к базе данных или изменить пароль у ранее созданных, все это и многое другое можно сделать в консоли Яндекс.Облака.

Автор блога: Иванов Иван, практикующий веб-аналитик. Специалист по внедреннию Google Analytics и Яндекс Метрики. Занимаюсь разработкой решений для формирования данных и отчетов по сквозной аналитике. Автор обучающего курса по Google Tag Manager, преподаватель в Нетологии
Еженедельная рассылка кейсов!
Обсуждение
  1. Владимир
    01.11.2018 at 14:21

    Спасибо, очень полезно!

    А зачем получать IP-адрес? Tabix ведь умеет ходить по доменному имени.

    • Ответ автора
      01.11.2018 at 21:17

      Спасибо, Владимир. IP получал, чтобы настроить подключение через сторонний сервис к БД, т.к. он на текущий момент не отображается явно в настройках – добавил информацию как его узнать

  2. Max
    29.06.2019 at 02:52

    К сожалению по вашей инструкции табикс не подключается.

    • Ответ автора
      20.08.2019 at 22:53

      Что именно у вас вызвало сложности?

Ваш комментарий
mode_edit