Руководство
Что вы получите, пройдя это руководство?
Пройдя это руководство вы научитесь устанавливать простой кластер Clickhouse. Он будет небольшим, но отказоустойчивым и масштабируемым. Далее мы воспользуемся одним из готовых наборов данных для наполнения кластера данными и выполнения над ними нескольких демонстрационных запросов.
Установка на одном узле
Чтобы не погружаться сразу в сложности распределённого окружения мы начнём с развёртывания ClickHouse на одном сервере или одной виртуальной машине. ClickHouse обычно устанавливаается из deb- или rpm-пакетов, но есть и альтернативы для операционных систем без соответствующих пакетных менеджеров.
Например, выбираем нужные deb
-пакеты и выполняем:
sudo apt-get install -y apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
echo "deb https://packages.clickhouse.com/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
sudo service clickhouse-server start
clickhouse-client # or "clickhouse-client --password" if you've set up a password.
Что мы получим по результатам установки этих пакетов:
- с пакетом
clickhouse-client
будет установлена программа clickhouse-client — интерактивный консольный клиент ClickHouse. - пакет
clickhouse-common
включает исполняемый файл ClickHouse. - пакет
clickhouse-server
содержит конфигурационные файлы для запуска ClickHouse в качестве сервера.
Файлы конфигурации сервера располагаются в каталоге /etc/clickhouse-server/
. Прежде чем идти дальше, обратите внимание на элемент <path>
в файле config.xml
. Путь, задаваемый этим элементом, определяет местоположение данных, таким образом, он должен быть расположен на томе большой ёмкости; значение по умолчанию — /var/lib/clickhouse/
. Если вы хотите изменить конфигурацию, то лучше не редактировать вручную файл config.xml
, поскольку он может быть переписан будущими пакетными обновлениями; рекомендуется создать файлы с необходимыми конфигурационными элементами в каталоге config.d, которые рассматриваются как “патчи” к config.xml.
Вы могли заметить, что clickhouse-server
не запускается автоматически после установки пакетов. Также сервер не будет автоматически перезапускаться после обновлений. Способ запуска сервера зависит от используемой подсистемы инициализации, обычно это делается так:
sudo service clickhouse-server start
или
sudo /etc/init.d/clickhouse-server start
Журналы сервера по умолчанию ведутся в /var/log/clickhouse-server/
. Как только в журнале появится сообщение Ready for connections
— сервер готов принимать клиентские соединения.
Теперь, когда clickhouse-server
запущен, можно подключиться к нему с использованием clickhouse-client
и выполнить тестовый запрос, например, SELECT 'Hello, world!';
.
Советы по использованию clickhouse-client
Интерактивный режим:
clickhouse-client
clickhouse-client --host=... --port=... --user=... --password=...
Включить многострочный режим запросов:
clickhouse-client -m
clickhouse-client --multiline
Включить пакетный режим запуска запросов:
clickhouse-client --query='SELECT 1'
echo 'SELECT 1' | clickhouse-client
clickhouse-client <<< 'SELECT 1'
Вставить данные из файла заданного формата:
clickhouse-client --query='INSERT INTO table VALUES' < data.txt
clickhouse-client --query='INSERT INTO table FORMAT TabSeparated' < data.tsv
Загрузка набора данных из примеров
Настало время загрузить в ClickHouse данные из примеров. В этом руководстве мы используем анонимизированные данные посещений сайтов (веб-метрики). Существует множество способов импортировать набор данных, но для целей данного руководства мы используем наиболее практичный из них.