Перейти к основному содержимому
Перейти к основному содержимому

Установка ClickHouse с использованием архивов tgz

Рекомендуется использовать официальные предварительно скомпилированные архивы tgz для всех дистрибутивов Linux, где установка пакетов deb или rpm невозможна.

Обзор рекомендаций

Перед установкой ClickHouse ознакомьтесь со следующими рекомендациями:

  • Swap: Отключите файл подкачки операционной системы в продакшен-среде.
  • Disk space: Для установки ClickHouse требуется не менее 2,5 ГБ дискового пространства.
  • Network: Для распределённых развертываний (кластеризации) используйте сеть с пропускной способностью не менее 10 Гбит/с. Пропускная способность сети критически важна для обработки распределённых запросов с большими объёмами промежуточных данных, а также для репликации.

Оценка требований к хранилищу

Чтобы оценить объём дискового пространства, необходимый для ваших данных:

  1. Оцените объём данных: Возьмите выборку данных и вычислите средний размер строки, затем умножьте его на количество строк, которое вы планируете хранить.
  2. Примените коэффициент сжатия: Загрузите выборку в ClickHouse и сравните исходный размер данных с размером таблицы на диске. Например, данные clickstream обычно сжимаются в 6–10 раз.
  3. Учтите реплики: Если вы планируете хранить данные в нескольких репликах, умножьте расчётный объём на количество реплик.

Более подробные требования к оборудованию см. в разделе "Подбор размера и рекомендации по оборудованию"

Загрузка и установка последней стабильной версии

Необходимую версию можно загрузить с помощью curl или wget из репозитория https://packages.clickhouse.com/tgz/. После этого загруженные архивы нужно распаковать и установить с помощью установочных скриптов.

Ниже приведён пример установки последней стабильной версии.

Примечание

Для продакшн-сред рекомендуется использовать последнюю версию stable. Найти номер релиза можно на этой странице GitHub с постфиксом -stable.

Получение последней версии ClickHouse

Получите последнюю версию ClickHouse с GitHub и сохраните её в переменную LATEST_VERSION.

LATEST_VERSION=$(curl -s https://raw.githubusercontent.com/ClickHouse/ClickHouse/master/utils/list-versions/version_date.tsv | \
    grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort -V -r | head -n 1)
export LATEST_VERSION

Определение архитектуры системы

Определите архитектуру системы и соответствующим образом задайте переменную ARCH:

case $(uname -m) in
  x86_64) ARCH=amd64 ;;         # Для 64-битных процессоров Intel/AMD
  aarch64) ARCH=arm64 ;;        # Для 64-битных процессоров ARM
  *) echo "Unknown architecture $(uname -m)"; exit 1 ;; # Завершить работу, если архитектура не поддерживается
esac

Загрузка tar-архивов для каждого компонента ClickHouse

Загрузите tar-архивы для каждого компонента ClickHouse. Цикл сначала пытается скачать архитектурно-специфичные пакеты, затем при необходимости переходит к универсальным.

for PKG in clickhouse-common-static clickhouse-common-static-dbg clickhouse-server clickhouse-client clickhouse-keeper
do
  curl -fO "https://packages.clickhouse.com/tgz/stable/$PKG-$LATEST_VERSION-${ARCH}.tgz" \
    || curl -fO "https://packages.clickhouse.com/tgz/stable/$PKG-$LATEST_VERSION.tgz"
done

Распаковка и установка пакетов

Выполните приведённые ниже команды для распаковки и установки следующих пакетов:

  • clickhouse-common-static
# Распаковать и установить пакет clickhouse-common-static
tar -xzvf "clickhouse-common-static-$LATEST_VERSION-${ARCH}.tgz" \
  || tar -xzvf "clickhouse-common-static-$LATEST_VERSION.tgz"
sudo "clickhouse-common-static-$LATEST_VERSION/install/doinst.sh"
  • clickhouse-common-static-dbg
# Распаковать и установить пакет с отладочными символами
tar -xzvf "clickhouse-common-static-dbg-$LATEST_VERSION-${ARCH}.tgz" \
  || tar -xzvf "clickhouse-common-static-dbg-$LATEST_VERSION.tgz"
sudo "clickhouse-common-static-dbg-$LATEST_VERSION/install/doinst.sh"
  • clickhouse-server
# Распаковать и установить серверный пакет с конфигурацией
tar -xzvf "clickhouse-server-$LATEST_VERSION-${ARCH}.tgz" \
  || tar -xzvf "clickhouse-server-$LATEST_VERSION.tgz"
sudo "clickhouse-server-$LATEST_VERSION/install/doinst.sh" configure
sudo /etc/init.d/clickhouse-server start  # Запустить сервер
  • clickhouse-client
# Распаковать и установить клиентский пакет
tar -xzvf "clickhouse-client-$LATEST_VERSION-${ARCH}.tgz" \
  || tar -xzvf "clickhouse-client-$LATEST_VERSION.tgz"
sudo "clickhouse-client-$LATEST_VERSION/install/doinst.sh"