CockroachDB – это высокораспределенная платформа баз данных SQL, предназначенная для обработки больших объемов данных на нескольких узлах. Это облачная база данных с открытым исходным кодом, которая обеспечивает сильную согласованность, высокую доступность и автоматическое масштабирование.
Шаг 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

Далее откройте другой терминал и выполните следующую команду, чтобы проверить инициализацию кластера, подключившись к оболочке CockroachDB SQL.
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
В Admin UI имеются различные вкладки для мониторинга кластера, баз данных и узлов. Вы можете просматривать метрики, детали производительности и многое другое.

Шаг 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', 'alice@itshaman.ru'), ('Bob', 'bob@itshaman.ru'); 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
Далее сгенерируйте сертификаты узлов, подписанные CA, в результате чего будут созданы 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, инициализацию кластера, запуск его в качестве фоновой службы и доступ к пользовательскому интерфейсу администратора.
Комментарии (0)