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.
[…] Как установить кластер CockroachDB на Ubuntu […]