Як встановити кластер CockroachDB на Ubuntu

CockroachDB – це високорозподілена платформа баз даних SQL, призначена для обробки великих обсягів даних на декількох вузлах. Це хмарна база даних з відкритим вихідним кодом, яка забезпечує сильну узгодженість, високу доступність і автоматичне масштабування.

У цій статті ми розповімо вам про те, як встановити кластер CockroachDB на Ubuntu 24.04.

Попередні умови

Перш ніж ми почнемо, переконайтеся, що у вас є наступне:

  • Сервер Ubuntu 24.04 з щонайменше 4 ГБ оперативної пам’яті та 2 ядрами процесора.
  • Root або sudo доступ до сервера.

Крок 1: Встановлення CockroachDB на Ubuntu

Спочатку оновіть пакети системного програмного забезпечення до останньої версії, а потім встановіть необхідні залежності, як показано на малюнку.

sudo apt update -y
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

Далі відвідайте офіційну сторінку завантаження CockroachDB, щоб отримати останню версію, або скористайтеся наступною командою wget, щоб завантажити її безпосередньо.

wget -qO- https://binaries.cockroachdb.com/cockroach-v24.1.1.linux-amd64.tgz | tar xvz

Після завантаження перемістіть двійковий файл у каталог PATH і перевірте встановлення.

sudo cp -i cockroach-v24.1.1.linux-amd64/cockroach /usr/local/bin/
cockroach version

Крок 2: Ініціалізація кластера CockroachDB

Щоб ініціалізувати кластер CockroachDB, створіть каталог для даних cockroachdb і запустіть вузол CockroachDB, який встановлює початкову конфігурацію кластера.

sudo mkdir -p /var/lib/cockroach
sudo chown $(whoami) /var/lib/cockroach
cockroach start-single-node --insecure --store=/var/lib/cockroach --listen-addr=localhost:26257 --http-addr=localhost:8080

Потім відкрийте інший термінал і виконайте наступну команду, щоб перевірити ініціалізацію кластера, підключившись до SQL-оболонки CockroachDB.

cockroach sql --insecure --host=localhost:26257

Щоб вийти з оболонки SQL, введіть \q і натисніть Enter.

Крок 3: Запуск CockroachDB як фонової служби

Щоб запустити CockroachDB як фонову службу, ми створимо файл служби systemd.

sudo nano /etc/systemd/system/cockroach.service

Додайте таку конфігурацію.

[Unit]
Description=CockroachDB
Documentation=https://www.cockroachlabs.com/docs/
After=network.target

[Service]
Type=notify
ExecStart=/usr/local/bin/cockroach start-single-node --insecure --store=/var/lib/cockroach --listen-addr=localhost:26257 --http-addr=localhost:8080
TimeoutStartSec=0
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

Далі перезавантажте конфігурацію менеджера systemd, запустіть службу CockroachDB, увімкніть її запуск під час старту системи і перевірте її поточний стан.

sudo systemctl daemon-reload
sudo systemctl start cockroach
sudo systemctl enable cockroach
sudo systemctl status cockroach

Результат має показати, що служба CockroachDB активна і запущена.

Крок 4: Доступ до користувацького інтерфейсу адміністратора CockroachDB

CockroachDB містить веб-інтерфейс адміністратора для управління і моніторингу вашого кластера за наступним URL.

http://localhost:8080

У користувацькому інтерфейсі адміністратора є різні вкладки для моніторингу кластера, баз даних і вузлів. Ви можете переглядати метрики, деталі продуктивності та багато іншого.

Крок 5: Створення та управління базами даних CockroachDB

Щоб взаємодіяти з CockroachDB, ви можете використовувати оболонку SQL.

cockroach sql --insecure --host=localhost:26257

Щоб створити та перевірити базу даних у CockroachDB.

CREATE DATABASE mydb;
SHOW DATABASES;

Ви побачите список доступних баз даних, включно з mydb.

Щоб створити таблицю в базі даних.

USE mydb;
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name STRING,
    email STRING UNIQUE
);

Потім вставте в нього дані та запитайте їх.

INSERT INTO users (name, email) VALUES ('Alice', '[email protected]'), ('Bob', '[email protected]');
SELECT * FROM users;

Щоб вийти з оболонки SQL, введіть \q і натисніть Enter.

Крок 6: Захист кластера CockroachDB (необов’язково)

За замовчуванням кластер CockroachDB працює в незахищеному режимі, що не рекомендується для виробничих середовищ.

Щоб захистити кластер, згенеруйте необхідний SSL-сертифікат для кластера CockroachDB за допомогою наступних команд, які створять ca.crt і ca.key у каталозі /home/ravi/cert.

mkdir /home/ravi/cert
cockroach cert create-ca --certs-dir=/home/ravi/cert --ca-key=/home/ravi/cert/ca.key

Потім згенеруйте сертифікати вузла, підписані центром сертифікації, для чого створіть node.crt і node.key у каталозі /home/ravi/cert. Обов’язково замініть localhost на ім’я хоста або IP-адресу вашого вузла CockroachDB.

cockroach cert create-node localhost --certs-dir=/home/ravi/cert --ca-key=/home/ravi/cert/ca.key

Тепер встановіть правильні дозволи на сертифікат.

sudo chmod 600 /home/ravi/cert/*.crt /home/ravi/cert/*.key

Нарешті, змініть службовий файл systemd ‘cockroach.service’.

sudo nano /etc/systemd/system/cockroach.service

Оновіть рядок ExecStart, включивши в нього прапори SSL/TLS і аутентифікації.

cockroach start --certs-dir=/home/ravi/cert --listen-addr=localhost:26257 --http-addr=localhost:8080 --join=localhost:26257,localhost:26258,localhost:26259

Після внесення цих змін перезавантажте конфігурацію менеджера systemd і перезапустіть CockroachDB, щоб застосувати нові сертифікати.

sudo systemctl daemon-reload
sudo systemctl restart cockroach

Переконайтеся, що CockroachDB доступний за допомогою нових сертифікатів SSL/TLS:

cockroach sql --certs-dir=/home/ravi/cert --host=localhost:26257

Висновок

У цьому посібнику ми розглянули кроки зі встановлення та налаштування CockroachDB на Ubuntu 24.04. Ми розглянули завантаження та встановлення CockroachDB, ініціалізацію кластера, його запуск як фонової служби та доступ до користувацького інтерфейсу адміністратора.

Крім того, ми вивчили основні операції з базою даних за допомогою оболонки SQL.

Поділіться своєю любов'ю

Залишити відповідь

0 комментариев
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x