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

Поделитесь с друзьями

Добавить комментарий

1 Комментарий
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі

[…] Как установить кластер CockroachDB на Ubuntu […]

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