Как установить ClickHouse? — Руководство для аналитиков
ClickHouse – БД, разработанная компанией Yandex с целью обработки аналитических запросов, которые идеально подходят для решения цифровых маркетинговых задач.
Данная статья поможет Вам наилучшим образом разобраться в том, как начать работу с ClickHouse.
Обучающее видео
Это короткое видео покажет Вам, как установить и настроить ClickHouse всего за 3 (!!!) минуты.
Сервер, необходимый для настройки ClickHouse
Для того, чтобы настроить ClickHouse, Вам необходим сервер, работающий на Ubuntu.
Например, рассмотрим покупку на DigitalOcean.
После прохождения регистрации выберете Create Droplets:

Как только откроется страница конфигурации сервера, выберете следующие настройки:
-
Ubuntu в качестве ОС.
Версия: 20.04. - Амстердам в качестве локации сервера.
- Укажите следующие параметры: 3 GB памяти, 1 vCPU и 60 GB SSD.
По мере увеличения объемов данных возникнет необходимость в сервере с более высокой производительностью. DigitalOcean поддерживает возможность масштабирования сервера, что существенно облегчает задачу расширения технических характеристик.
После создания виртуальной машины Вы получите email с SSH доступом к серверу.
Установка ClickHouse
Вы можете создать ClickHouse с помощью нескольких простых команд. Подойдет любой SHH клиент, например, этот (расширение для Google chrome) или этот (клиент для macOS и Windows).
- Запустите SSH client
Вам необходимо уточнить IP адрес сервера и ввести логин для подсоединения к серверу. Если Вы вводите логин впервые, Вам необходимо будет придумать и пароль.
Затем добавьте в консоль SSH client команды, указанные ниже (для Вашего удобства мы также подготовили документ pdf).
- Укажите репозиторий, из которого Вы планируете загрузить ClickHouse
Скопируйте код, указанный ниже, и запустите команду в Вашем SSH клиенте:
sudo apt-add-repository "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/"
- Запустите процесс установки
Для этого выполните следующую команду:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4 # optional sudo apt-get update sudo apt-get install clickhouse-client clickhouse-server
Установка завершена.
- Запустите ClickHouse
Выполните следующую команду:
sudo service clickhouse-server start
После этого выполните тестовый запрос в ClickHouse:
select 1
Если все в порядке, Вы получите в ответ 1. Выйдите из клиента и проследуйте к настройкам ClickHouse.
Настройка ClickHouse
Для того, чтобы обеспечить последующее безопасное и удобное использование ClickHouse, вам необходимо будет сделать следующее:
-
откройте IP соединение.
Сразу после установки ClickHouse закрыт для подключения -
установите Tabix.
Работа с ClickHouse более удобна и эффективна с помощью графического клиента Tabix. -
создайте аккаунт.
Вам необходимо создать учетную запись, которую Вы будете использовать для доступа к ClickHouse. По умолчанию пароль в ClickHouse не задается.
Открытие IP - соединения
Настройки доступа к серверу указаны в config.xml; для того, чтобы открыть его, выполните команду:
sudo nano /etc/clickhouse-server/config.xml
В результате откроется файл с настройками ClickHouse:

Отмените <listen_host>::</listen_host>, тогда будет разрешено подключение с любого адреса.
Или укажите IP-адрес, если требуется подключение с конкретного IP-адреса. Например, <listen_host>0.0.0.0</listen_host>.
Сохраните изменения с помощью нажатия клавиш: ^X.
Настройка Tabix (графического клиента)
Для того, чтобы настроить Tabix, Вам всего лишь необходимо uncomment <http_server_default_response...> в config.xml , который загрузит Tabix:

Сохраните изменения.
Tabix загружается по ссылке:
http://0.0.0.0:8123/
Где вместо 0.0.0.0 необходимо указать IP-адрес вашего сервера. По умолчанию в ClickHouse создается учетная запись с логином Default. Используйте ее для входа в Tabix:

Пароль отсутствует. Для того, чтобы его установить, используйте инструкцию ниже.
Управление пользователями
По умолчанию ClickHouse создает пользователя с именем Default без пароля. Пароль можно задать в открытом или закодированном виде (SHA-256).
Такие пароли не являются панацеей от возможного мошенничества. Скорее, это защита от персонала.
Пароль может быть сгенерировн с помощью следующей команды:
echo -n "testPasword" | sha256sum | tr -d '-'
Где вместо testPasword указывается необходимый Вам пароль.
После выполнения команды мы получаем закодированный пароль.
Чтобы задать его в качестве пароля, необходимо отредактировать файл users.xml.
Для этого выполните следующую команду:
sudo nano /etc/clickhouse-server/users.xml
Откроется файл с настройками пользователя ClickHouse:

Где мы указываем пароль, сгенерированный для пользователя Default:
<password_sha256_hex>f501c3dc6d2bb6949f593a90c93eb9</password_sha256_hex>.
Можно также задать пароль в открытом виде:
<password>testPasword</password>.
Не забудьте сохранить изменения. С этого момента для подключения к Tabix необходимо указать логин и пароль.
Загрузка данных в ClickHouse
Renta разрешает загрузку данных из различных рекламных источников, аналитических систем и БД. Например, из Google Ads или Salesforce.
Потоковая обработка необработанных данных Google Analytics с автоматическим объединением данных из рекламных источников, CRM-система также доступна для ClickHouse.
Подсоединение Power BI к ClickHouse
Подключиться к ClickHouse можно через драйвер ODBC или через HTTP.
Подключение через HTTP является более удобным.
Для этого в Power BI в качестве источника данных выберите Web:
Рис. 6
Затем укажите следующие данные:
- адрес сервера и порт,
- учетные данные для доступа к ClickHouse,
- - запрос select (который вернет необходимые данные),
- Данные в формате TSV или CSV.
Например, в Power BI необходимо собрать данные о количестве сеансов из рекламных источников. Предположим, что запрос ClickHouse выглядит следующим образом:
select date, source, medium, uniq(sessionId) from renta_streaming.sessions_distributed group by date, source, medium
Затем мы подготавливаем URL, который будет возвращать результат выполнения запроса в формате CSV-файла. Структура URL должна выглядеть следующим образом:
// Задайте доступ к серверу http://0.0.0.0:8123/?user=default&password=testPassword&query= // Запрос SQL: select date, source, medium, uniq(sessionId) from renta_streaming.sessions_distributed group by date, source, medium //Укажите формат файла FORMAT CSVWithNames
В качестве заключительного шага необходимо преобразовать полученный запрос к формату URL:
http://0.0.0.0:8123/?user=default&password=testPassword&query=select%20%0Adate%2C%0Asource%2C%0Amedium%2C%0Auniq(sessionId)%0Afrom%20renta_streaming.sessions_distributed%20%0Agroup%20by%20%0Adate%2C%0Asource%2C%0Amedium%0AFORMAT%20CSVWithNames
Для преобразования запроса в URL формата используйте любой декодер.
Настройка обновления в Power BI Online
Power BI Online требует установки шлюза для обновления отчетов в облаке. Если привязать домен к серверу с помощью ClickHouse, обойти это условие никак не получится. Поэтому:
- Создайте в настройках домена поддомен и укажите в качестве A-записи IP-адрес сервера.
- Настройка происходит на стороне хостинга, к которому привязан домен.
- В результате в качестве источника данных вместо IP-адреса следует указать домен.
Например:
http://clickhouse.im:8123/?user=default&password=testPassword&query=select%20%0Adate..
При использовании поддомена настройка шлюза не требуется.



