Доступ к кластеру ClickHouse

Важно

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

  • 9000 — для подключения к кластеру без TLS по протоколу TCP;
  • 9440 — для подключения к кластеру по TLS по протоколу TCP;
  • 8443 — для подключения к кластеру по протоколу HTTPS (через API-интерфейс). Подключение возможно и по TLS, и без TLS;
  • 8123 — для подключения к кластеру по протоколу HTTP (через API-интерфейс). Подключение возможно только без TLS.

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

Подключиться к ноде ClickHouse можно через:

  • clickhouse-client (клиента командной строки ClickHouse) по протоколу TCP. Подробнее о клиенте командной строки см. в документации ClickHouse;
  • API-интерфейс по протоколу HTTP/HTTPS.

Подключение без TLS

Подключение без TLS возможно, если при создании кластера не был активирован переключатель Разрешить только TLS подключения.

Подключение по протоколу TCP

Чтобы подключиться к кластеру ClickHouse, в командной строке введите:

где:

  • <host> — IP-адрес ноды, к которой нужно подключиться. Если нужно подключиться к ноде из внутренней сети, используйте внутренний IP-адрес ноды. Если нужно подключиться к ноде через Интернет, используйте публичный IP-адрес ноды. IP-адреса ноды отображаются:
    • на вкладке Ноды в конфигурации Cluster;
    • на вкладке Информация в конфигурации Standalone;
  • <database> имя базы данных, к которой нужно подключиться;
  • <username>  логин пользователя, созданного на вкладке Пользователи;
  • <password>  пароль пользователя.

Подключение по протоколу HTTP или HTTPS (через API-интерфейс)

Чтобы подключиться к кластеру ClickHouse через API-интерфейс, выполните запрос:

где:

  • <host> — IP-адрес ноды, к которой нужно подключиться. Если нужно подключиться к ноде из внутренней сети, используйте внутренний IP-адрес ноды. Если нужно подключиться к ноде через Интернет, используйте публичный IP-адрес ноды. IP-адреса ноды отображаются:
    • на вкладке Ноды в конфигурации Cluster;
    • на вкладке Информация в конфигурации Standalone;
  • <port>:
    • 8123 — для подключения по протоколу HTTP;
    • 8443 — для подключения по протоколу HTTPS;
  • <database> — имя базы данных, к которой нужно подключиться;
  • <username> — логин пользователя, созданного на вкладке Пользователи;
  • <password> — пароль пользователя.

Подключение по TLS

Подключение по протоколу TCP

Чтобы подключиться к кластеру ClickHouse по TLS, в командной строке введите:

где:

  • <host> — IP-адрес ноды, к которой нужно подключиться. Если нужно подключиться к ноде из внутренней сети, используйте внутренний IP-адрес ноды. Если нужно подключиться к ноде через Интернет, используйте публичный IP-адрес ноды. IP-адреса ноды отображаются:
    • на вкладке Ноды в конфигурации Cluster;
    • на вкладке Информация в конфигурации Standalone;
  • <database> имя базы данных, к которой нужно подключиться;
  • <username>  логин пользователя, созданного на вкладке Пользователи;
  • <password>  пароль пользователя.

Подключение по протоколу HTTPS (через API-интерфейс)

Чтобы подключиться к кластеру ClickHouse по протоколу HTTPS:

  1. Получите сертификат сервера, выполнив команду:


  2. В выводе найдите блок с сертификатом (между -----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----). Скопируйте его в отдельный файл, например clickhouse.crt.

  3. Выполните запрос с использованием сертификата, например:

    где:
    • <host> — IP-адрес ноды, к которой нужно подключиться. Если нужно подключиться к ноде из внутренней сети, используйте внутренний IP-адрес ноды. Если нужно подключиться к ноде через Интернет, используйте публичный IP-адрес ноды. IP-адреса ноды отображаются:
      • на вкладке Ноды в конфигурации Cluster;
      • на вкладке Информация в конфигурации Standalone;
    • <database> имя базы данных, к которой нужно подключиться;
    • <username>  логин пользователя, созданного на вкладке Пользователи;
    • <password>  пароль пользователя.