Top.Mail.Ru
Установка и удаление БД ClickHouse
8 800 555-89-02
Документация
CTRL+K
Standalone2306
EOL
SaaS

Установка и удаление БД ClickHouseEOL

В этой статье

Для установки аналитической СУБД «ClickHouse» необходим сервер под управлением ОС семейства Linux с возможностью установки ПО «Docker» версии 17.06 или выше. Системные требования к серверу зависят от:

  • количества сотрудников, по которым проводится мониторинг;
  • сложности аналитических отчетов;
  • объема дополнительно загружаемых данных для аналитики.

С рекомендациями по системным требованиям вы можете ознакомиться в разделе Технические требования к серверному и аппаратному оборудованию.

Подготовка сертификата и закрытого ключа для сервера с СУБД «ClickHouse»

Для того, чтобы передача данных между приложением и СУБД «ClickHouse» происходила по защищенному протоколу HTTPS, подготовьте SSL-сертификат и закрытый ключ для сервера, где будет установлена СУБД. Файл сертификата должен быть с расширением «.cer». Ключ – файл с расширением «.key».

Для получения сертификата обратитесь к администраторам инфраструктуры открытых ключей (PKI) в вашей организации.

Возможно также использование самоподписанного сертификата. Ниже приведен пример команды для его генерации при помощи OpenSSL в ОС семейства Linux:

# openssl req -x509 -nodes -newkey rsa:2048 -days 365 -keyout key.key -out cert.crt

Запуск Docker службы c СУБД «ClickHouse»

Дистрибутив СУБД «ClickHouse» предоставляется в виде образа контейнера для системы контейнерной виртуализации Docker. Для установки контейнера с СУБД на сервере под управлением OC семейства Linux выполните следующие действия:

  1. Установите на сервер ПО «Docker»: https://docs.docker.com/engine/install/;
  2. Загрузите переданный архив с образом контейнера на сервер;
  3. Распакуйте архив и выполните загрузку образа в локальное хранилище Docker:
    # gunzip infomaximum-clickhouse-20.4.5.36p4.tar.gz
    
    # docker load < infomaximum-clickhouse-20.4.5.36p4.tar.gz
    
  4. Выполните команду для запуска Docker Swarm (необходим для использования секретов):
    # docker swarm init --advertise-addr 127.0.0.1:2377 --listen-addr 127.0.0.1:2377
    
  5. Создайте секреты Docker, которые предназначены для защищенного хранения чувствительных данных:
    • создайте секреты с данными пользователя администратора СУБД «ClickHouse»:
      # echo -n "infomaximum_user" | docker secret create infomaximum_app_user -echo -n "b5w4GDSg36" | sha256sum | awk '{print $1}' | docker secret create infomaximum_app_user_password_hash -
      
    • создайте секреты с данными рядового пользователя СУБД «ClickHouse» (права только на чтение):
      # echo -n "infomaximum_read_user" | docker secret create infomaximum_external_user -echo -n "m26dhdhFdgj" | sha256sum | awk '{print $1}' | docker secret create infomaximum_external_user_password_hash -
      
    • создайте секреты с SSL-сертификатом и ключом:
      # docker secret create infomaximum_clickhouse.crt cert.crt
      
      # docker secret create infomaximum_clickhouse.key key.key
      
      # openssl dhparam 4096 - | docker secret create infomaximum_clickhouse_dhparam.pem -
      
  6. Создайте тома (volume) Docker. Они служат для постоянного хранения данных работы контейнера:
    # docker volume create infomaximum-clickhouse
    
    # docker volume create infomaximum-clickhouse-log
    
  7. Создайте службу (service) командой Docker:
    # docker service create --name infomaximum-clickhouse \ --secret infomaximum_app_user \ --secret infomaximum_app_user_password_hash \ --secret infomaximum_external_user \ --secret infomaximum_external_user_password_hash \ --secret infomaximum_clickhouse_dhparam.pem \ --secret infomaximum_clickhouse.crt \ --secret infomaximum_clickhouse.key \ --publish published=8123,target=8123,mode=host \ --mount type=volume,src=infomaximum-clickhouse,target=/var/lib/clickhouse/ \ --mount type=volume,src=infomaximum-clickhouse-log,target=/var/log/clickhouse-server \ --restart-max-attempts 5 \ --restart-condition "on-failure" \ --no-resolve-image \ infomaximum/infomaximum-clickhouse:20.4.5.36p4
    

Если служба удачно запущена, результатом выполнения команды должно быть сообщение: “verify: Service converged”.

С этого момента служба с контейнером должна начать работать. Чтобы убедиться, что СУБД работает нормально, перейдите в браузере на страницу «адрес сервера:8123/». Если всё настроено верно, в браузере появится сообщение: «ОК».

Если служба не была запущена, выполните её удаление командой:

# docker service rm infomaximum-clickhouse

Удаление СУБД ClickHouse

Для удаления СУБД ClickHouse выполните следующие команды на сервере, где она установлена:

# docker service rm infomaximum-clickhouse
# docker secret rm infomaximum_app_user infomaximum_app_user_password_hash infomaximum_clickhouse.crt infomaximum_clickhouse.key  infomaximum_clickhouse_dhparam.pem infomaximum_external_user infomaximum_external_user_password_hash
# docker volume rm infomaximum-clickhouse infomaximum-clickhouse-log
# docker swarm leave –force

Найти команды для удаления Docker для конкретного дистрибутива Linux можно в официальной документации: https://docs.docker.com/engine/install/.

Была ли статья полезна?

Да
Нет
Предыдущая
Ошибки системы
8 (800) 555-89-028 (495) 150-31-45team@infomaximum.com
Для бизнеса
© 20102024. ООО «Инфомаксимум»
Мы используем файлы cookies, чтобы сайт был лучше для вас.