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 […]