Написать в техподдержку Позвонить нам
Админпанель Выход

Содержание статьи:

    Установка и настройка ClickHouse на Ubuntu

    В данной статье рассмотрим, как установить standalone ClickHouse, создать пользователя базы данных, настроить права и сетевой доступ.

    Конфигурация оборудования

    Сервер Ubuntu 18.04 LTS x86_64.

    Как сэкономить время на установке ClickHouse

    Воспользуйтесь нашим готовым облачным решением на базе СУБД ClickHouse. При регистрации вы получаете бесплатный бонусный счет, которого достаточно для работы в течение нескольких дней.

    [попробовать облачную СУБД ClickHouse]

    Установка Standalone ClickHouse

    1. Авторизуйтесь на сервере Ubuntu 18.04.
    2. Обновите список репозиториев:
    ubuntu@ubuntu-standard-2-4-40gb:~$ sudo apt-get update
    1. Установите дополнительные пакеты:
    ubuntu@ubuntu-standard-2-4-40gb:~$ sudo apt-get install -y wget
    1. Установите ClickHouse:
    • Скачайте ключ репозитория ClickHouse:
    ubuntu@ubuntu-standard-2-4-40gb:~$ wget -O - https://repo.yandex.ru/clickhouse/CLICKHOUSE-KEY.GPG | sudo apt-key add -
    • В список репозиториев добавьте репозиторий ClickHouse:
    ubuntu@ubuntu-standard-2-4-40gb:~$ sudo apt-add-repository "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/"
    Ign:1 http://repo.yandex.ru/clickhouse/deb/stable main/ InRelease
    Hit:2 http://repo.yandex.ru/clickhouse/deb/stable main/ Release
    Get:3 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
    Hit:5 http://MS1.clouds.archive.ubuntu.com/ubuntu bionic InRelease
    Get:6 http://MS1.clouds.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
    Get:7 http://MS1.clouds.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
    Fetched 252 kB in 1s (341 kB/s)
    Reading package lists... Done
    • Установите сервер ClickHouse:
    ubuntu@ubuntu-standard-2-4-40gb:~$ sudo apt-get install clickhouse-client clickhouse-server
    При установке ClickHouse автоматически добавляется в список приложений, запускаемых автоматически.
    • Введите пароль пользователя по умолчанию.

    • Запустите сервер:

    ubuntu@ubuntu-standard-2-4-40gb:~$ sudo systemctl start clickhouse-server
    • Убедитесь, что сервер запущен и слушает localhost:
    ubuntu@ubuntu-standard-2-4-40gb:~$ sudo netstat -tulpn  | grep clickhouse
    tcp 0 0 127.0.0.1:9000 0.0.0.0:* 
    LISTEN 21373/clickhouse-se
    tcp 0 0 127.0.0.1:9009 0.0.0.0:* 
    LISTEN 21373/clickhouse-se
    tcp 0 0 127.0.0.1:8123 0.0.0.0:* 
    LISTEN 21373/clickhouse-se
    tcp6 0 0 ::1:9000 :::* 
    LISTEN 21373/clickhouse-se
    tcp6 0 0 ::1:9009 :::* 
    LISTEN 21373/clickhouse-se
    tcp6       0      0 ::1:8123                :::*            
    LISTEN      21373/clickhouse-se
    
    1. Используя имя пользователя default и пароль, введенный при установке, проверьте подключение к базе данных:
    ubuntu@ubuntu-standard-2-4-40gb:~$ clickhouse-client --password
    ClickHouse client version 20.1.4.14 (official build).
    Password for user (default):
    Connecting to localhost:9000 as user default.
    Connected to ClickHouse server version 20.1.4 revision 54431.
    
    ubuntu-standard-2-4-40gb :)
    Установка завершена.

    Создание базы данных и настройка прав доступа

    1. Создайте базу данных mybase:
    ubuntu@ubuntu-standard-2-4-40gb:~$ clickhouse-client --password
    ClickHouse client version 20.1.4.14 (official build).
    Password for user (default):
    Connecting to localhost:9000 as user default.
    Connected to ClickHouse server version 20.1.4 revision 54431.
    
    ubuntu-standard-2-4-40gb :) create database mybase
    
    CREATE DATABASE mybase
    
    Ok.
    
    0 rows in set. Elapsed: 0.036 sec.
    
    ubuntu-standard-2-4-40gb :)
    1. Для настройки прав доступа на созданную базу данных в папке /etc/clickhouse-server/users.d создайте файл myuser.xmlс описанием прав доступа:
    ubuntu@ubuntu-standard-2-4-40gb:~$ sudo cat /etc/clickhouse-server/users.d/myuser.xml
    <yandex>
        <users>
        <myuser>
            <password>mypass</password>
            <networks>
                <ip>::/0</ip>
        </networks>
            <profile>default</profile>
            <quota>default</quota>
            <allow_databases>
                <database>mybase</database>
            </allow_databases>
        </myuser>
        </users>
    </yandex>
    В этом файле описан пользователь myuser с паролем mypass и доступом к базе данных mybase с любого IP-адреса.
    1. Проверьте подключение с правами пользователя ОС Ubuntu:
    ubuntu@ubuntu-standard-2-4-40gb:~$ clickhouse-client --user myuser --password --database mybase
    ClickHouse client version 20.1.4.14 (official build).
    Password for user (myuser):
    Connecting to database mybase at localhost:9000 as user myuser.
    Connected to ClickHouse server version 20.1.4 revision 54431.
    
    ubuntu-standard-2-4-40gb :)

    Настройка сетевого доступа

    По умолчанию ClickHouse слушает только 127.0.0.1. Чтобы настроить сетевой доступ к серверу, в папке /etc/clickhouse-server/config.d создайте конфигурационный файл listen.xml:

    ubuntu@ubuntu-standard-2-4-40gb:~$ sudo cat /etc/clickhouse-server/config.d/listen.xml
    <yandex>
        <listen_host>::</listen_host>
    </yandex>


    Перезапустите сервер:

    ubuntu@ubuntu-standard-2-4-40gb:~$ sudo systemctl restart clickhouse-server


    Убедитесь, что ClickHouse слушает сеть:

    ubuntu@ubuntu-standard-2-4-40gb:~$ sudo netstat -tulpn | grep clickhouse
    tcp6 0 0 :::9000 :::* LISTEN 22529/clickhouse-se
    tcp6 0 0 :::9009 :::* LISTEN 22529/clickhouse-se
    tcp6 0 0 :::8123 :::* LISTEN 22529/clickhouse-se

    Теперь к серверу можно подключиться из внешней сети.

    Обратная связь

    Возникли проблемы или остались вопросы? Напишите нам, мы будем рады вам помочь.

    Полезна ли была эта статья?