Облачная платформаAdvanced

Использование ClickHouse с нуля

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

ClickHouse — это колонко‑ориентированная база данных, предназначенная для онлайн‑анализа и обработки. Она поддерживает запросы SQL и обеспечивает хорошую производительность запросов. Агрегационный анализ и производительность запросов на основе больших и широких таблиц отличны, что в порядке величины быстрее, чем у других аналитических баз данных.

Требования

Клиент установлен в каталоге, например, /opt/client. Каталог клиента в последующих операциях приведён только в качестве примера. Замените его на фактический каталог установки. Перед использованием клиента загрузите и обновите файл конфигурации клиента и убедитесь, что активный управляющий узел Manager доступен.

Процедура

  1. Войдите в узел, где установлен клиент, под пользователем установки клиента.
  2. Выполните следующую команду, чтобы перейти в каталог установки клиента:

    cd /opt/client

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

    source bigdata_env

  4. Если для текущего кластера включена аутентификация Kerberos, выполните следующую команду для аутентификации пользователя. Текущий пользователь должен иметь разрешение на создание таблиц ClickHouse. Подробности о том, как настроить разрешения, см. ClickHouse User and Permission Management и привяжите роли к пользователю. Если аутентификация Kerberos для текущего кластера отключена, пропустите этот шаг.

    kinit Component service user

    Example: kinit clickhouseuser

  5. Выполните клиентскую команду компонента ClickHouse.

    Выполните команду clickhouse -h, чтобы просмотреть справку по командам ClickHouse.

    Вывод команды выглядит следующим образом:

    Use one of the following commands:
    clickhouse local [args]
    clickhouse client [args]
    clickhouse benchmark [args]
    clickhouse server [args]
    clickhouse performance-test [args]
    clickhouse extract-from-config [args]
    clickhouse compressor [args]
    clickhouse format [args]
    clickhouse copier [args]
    clickhouse obfuscator [args]
    ...

    Запустите команду clickhouse client для подключения к серверу ClickHouse.

    Note

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

    • Команда для входа в кластер ClickHouse в режиме без SSL при отключённой аутентификации Kerberos

      clickhouse client --host IP-адрес экземпляра ClickHouse--port 9000 --user Имя пользователя --password

      Введите пароль пользователя.

    • Использование SSL для входа, когда аутентификация Kerberos включена для текущего кластера:

      В кластерах с включённой аутентификацией Kerberos нет пользователей по умолчанию. Необходимо создать пользователя в FusionInsight Manager.

      clickhouse client --host IP-адрес экземпляра ClickHouse--port 9440 --user Имя пользователя --password --secure

      Введите пароль пользователя.

    Запустите команду quit; для выхода из сервера ClickHouse.

    В следующей таблице описаны параметры команды clickhouse client.

    Таблица 1Параметры команды clickhouse client

    Параметр

    Описание

    --host

    Имя хоста сервера. Значение по умолчанию — localhost. Можно использовать имя хоста или IP-адрес узла, где находится инстанс ClickHouse.

    ПРИМЕЧАНИЕ:

    Вы можете войти в FusionInsight Manager и выбрать Cluster > Services > ClickHouse > Instance, чтобы получить IP-адрес сервиса инстанса ClickHouseServer.

    --port

    Порт для подключения.

    • Если используется SSL‑соединение, номер порта по умолчанию — 9440, параметр --secure должен быть указан. Для получения подробной информации о номере порта найдите параметр tcp_port_secure в конфигурации инстанса ClickHouseServer.
    • Если используется соединение без SSL, номер порта по умолчанию — 9000, параметр --secure указывать не требуется. Для получения подробной информации о номере порта найдите параметр tcp_port в конфигурации инстанса ClickHouseServer.

    --user

    Имя пользователя.

    Вы можете создать пользователя в FusionInsight Manager и привязать к нему роли.

    • Если для текущего кластера включена аутентификация Kerberos (кластер находится в режиме безопасности) и аутентификация пользователя прошла успешно, при входе в клиент от имени аутентифицированного пользователя параметры --user и --password указывать не требуется. Необходимо создать пользователя с этим именем в Manager, поскольку в сценарии кластера Kerberos нет пользователя по умолчанию.
    • Если аутентификация Kerberos не включена для текущего кластера (кластер находится в обычном режиме), вы не можете использовать пользователя ClickHouse, созданного в FusionInsight Manager, если необходимо указать имя пользователя и пароль при входе в клиент. Необходимо выполнить оператор create user SQL в клиенте для создания пользователя ClickHouse. Если при входе в клиент не требуется указывать имя пользователя и пароль, используется пользователь по умолчанию.

    --password

    Пароль. Пароль по умолчанию — пустая строка. Этот параметр используется совместно с параметром --user. Вы можете задать пароль при создании пользователя в Manager.

    --query

    Запрос для обработки при использовании неинтерактивного режима.

    --database

    Текущая база данных по умолчанию. Значение по умолчанию — default, которое является конфигурацией по умолчанию на сервере.

    --multiline

    Если указан этот параметр, допускаются многострочные запросы. (Enter только указывает перевод строки и не означает завершения оператора запроса.)

    --multiquery

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

    --format

    Указанный формат по умолчанию, используемый для вывода результата.

    --vertical

    Если указан этот параметр, результат выводится в вертикальном формате по умолчанию. В этом формате каждое значение печатается в отдельной строке, что облегчает отображение широкой таблицы.

    --time

    Если указан этот параметр, время выполнения запроса выводится в stderr в неинтерактивном режиме.

    --stacktrace

    Если указать этот параметр, информация о трассировке стека будет выводиться при возникновении исключения.

    --config-file

    Имя файла конфигурации.

    --secure

    Если указать этот параметр, соединение с сервером будет установлено в режиме SSL.

    --history_file

    Путь к файлам, в которых записывается история команд.

    --param_<name>

    Запрос с параметрами. Передайте значения от клиента к серверу.

FAQs

  • После выполнения команды для подключения к клиенту компонента ClickHouse отображается сообщение об ошибке "Connection refused".

    Проверьте, использует ли текущий кластер пользовательский порт. (Установите Component Port в Custom при создании кластера.) . Если порт пользовательский, замените порт, используемый в команде для подключения к клиенту компонента ClickHouse, на пользовательский порт по умолчанию из таблицы ниже.

    Parameter

    Default Open Source Port

    Default Custom Port

    Описание порта

    interserver_http_port

    9009

    9009

    HTTP‑порт для связи между серверами ClickHouse.

    interserver_https_port

    9010

    9010

    HTTPS‑порт для связи между серверами ClickHouse.

    http_port

    8123

    8123

    Порт для подключения к серверу ClickHouse через HTTP.

    https_port

    8443

    8443

    Порт для подключения к серверу ClickHouse через HTTPS.

    tcp_port

    9000

    9000

    Порт для подключения клиента к серверу ClickHouse через TCP.

    tcp_port_secure

    9440

    9440

    Порт для подключения клиента к серверу ClickHouse через TCP SSL.

    lb_tcp_port

    21424

    21424

    TCP‑порт, прослушиваемый ClickHouseBalancer

    lb_http_port

    21425

    21425

    HTTP порт, прослушиваемый ClickHouseBalancer

    lb_https_port

    21426

    21426

    HTTPS порт, прослушиваемый ClickHouseBalancer

    lb_tcp_secure_port

    21428

    21428

    TCP SSL порт, прослушиваемый ClickHouseBalancer