CockroachDB · 4 min read · Nov 30, 2025

Как установить кластер CockroachDB на Debian 11

CockroachDB — это распределенная и масштабируемая SQL база данных с открытым исходным кодом для облачных приложений. CockroachDB обеспечивает консистентность следующего уровня, реплицированную SQL базу данных и транзакционное хранилище данных. CockroachDB хранит ваши данные в нескольких местах, что делает доставку данных быстрее. Кроме того, его легко масштабировать, и он обеспечивает высокую доступность и отказоустойчивость для ваших приложений.

В этом руководстве мы покажем вам, как установить кластер CockroachDB на сервере Debian 11.

Предварительные требования

  • Два или более сервера Debian 11.
  • Пароль root настроен на серверах.

Установка CockroachDB на всех 3 серверах

Для установки CockroachDB легко установить. Это связано с тем, что CockroachDB предоставляет двоичный файл для системы Linux, который вы можете загрузить на свою систему.

Скачайте двоичный файл CockroachDB для Linux, используя следующую команду. Эта команда загрузит двоичный файл CockroachDB, извлечет сжатый файл, а затем переместит двоичный файл CockroachDB в директорию /usr/local/bin.

curl https://binaries.cockroachdb.com/cockroach-v21.2.8.linux-amd64.tgz | tar -xz && sudo cp -i cockroach-v21.2.8.linux-amd64/cockroach /usr/local/bin/

CockroachDB использует встроенную библиотеку GEOS. Библиотека GEOS включена в сжатый файл CockroachDB и должна быть установлена в директории lib.

Создайте новую директорию /usr/local/lib/cockroach, используя команду ниже.

mkdir -p /usr/local/lib/cockroach

Теперь скопируйте библиотеку GEOS в директорию /usr/local/lib/cockroach.

cp -i cockroach-v21.2.8.linux-amd64/lib/libgeos.so /usr/local/lib/cockroach/  
cp -i cockroach-v21.2.8.linux-amd64/lib/libgeos_c.so /usr/local/lib/cockroach/

Базовая установка CockroachDB установлена на серверах Debian.

Запустите следующую команду, чтобы проверить двоичный файл CockroachDB и текущую версию CockroachDB, которую вы только что установили.

which cockroach  
cockroach version

Вы получите следующий вывод.

проверка cockroachdb

Настройка брандмауэра

Если вы запускаете брандмауэр на своих серверах Debian, вам нужно будет добавить порты CockroachDB в конфигурацию брандмауэра.

CockroachDB использует порт 8080 для веб-администрации CockroachDB и порт 26257 для пользовательских подключений и конфигурации кластера.

Добавьте порты 8080 и 25267 в брандмауэр UFW, используя следующую команду.

sudo ufw allow 8080/tcp  
sudo ufw allow 26257/tcp

Теперь перезагрузите правила брандмауэра UFW и проверьте текущий статус правил брандмауэра.

sudo ufw reload  
sudo ufw status

Ниже вы можете увидеть, что порты 8080 и 25267 добавлены в брандмауэр UFW.

настройка ufw брандмауэра

Инициализация кластера CockroachDB

Чтобы инициализировать кластер CockroachDB, выполните команду ниже на сервере 11.

Вам нужно будет изменить значение следующих параметров:

  • –store: для хранения данных кластера CockroachDB.
  • –listen-addr: на каком IP-адресе будет работать CockroachDB на сервере. Порт по умолчанию для CockroachDB — порт 25267.
  • –http-addr: на каком IP-адресе будет работать веб-администрация CockroachDB. Веб-администрация CockroachDB по умолчанию работает на порту 8080.
cockroach start \  
--insecure \  
--store=server11 \  
--listen-addr=192.168.10.11:26257 \  
--http-addr=192.168.10.11:8080 \  
--join=192.168.10.11:26257,192.168.10.13:26258,192.168.10.14:26259 \  
--background

Вы получите следующий вывод.

запуск кластера на сервере 11

Теперь перейдите на сервер 2 и выполните следующую команду, чтобы запустить CockroachDB и присоединиться к кластеру. Измените IP-адрес в –listen-addr и –http-addr на IP-адрес сервера 2.

cockroach start \  
--insecure \  
--store=server2 \  
--listen-addr=192.168.10.13:26257 \  
--http-addr=192.168.10.13:8080 \  
--join=192.168.10.11:26257,192.168.10.13:26258,192.168.10.14:26259 \  
--background

Вы получите следующий вывод с сервера 2.

запуск кластера на сервере 2

Далее перейдите на сервер 3 и выполните следующую команду, чтобы запустить CockroachDB и присоединиться к кластеру CockroachDB. Также измените IP-адрес в –listen-addr и –http-addr на IP-адрес сервера 3.

cockroach start \  
--insecure \  
--store=server3 \  
--listen-addr=192.168.10.14:26257 \  
--http-addr=192.168.10.14:8080 \  
--join=192.168.10.11:26257,192.168.10.13:26258,192.168.10.14:26259 \  
--background

Вы получите следующий вывод с сервера 3.

запуск кластера на сервере 3

После завершения всех действий вернитесь на сервер 11 и выполните команду ниже, чтобы инициализировать кластер CockroachDB.

cockroach init --insecure --host=192.168.10.11:26257

Вы получите сообщение о выводе ‘ кластер успешно инициализирован ‘, что означает, что кластер CockroachDB успешно инициализирован.

Вы можете выполнить команду grep ниже, чтобы проверить журнал инициализации CockroachDB. Измените директорию сервера 11 на вашу директорию –store CockroachDB.

grep 'node starting' server11/logs/cockroach.log -A 11

Ниже вы можете увидеть журналы инициализации кластера CockroachDB на сервере 11.

инициализированный кластер

Наконец, откройте веб-браузер и перейдите по IP-адресу сервера, добавив порт 8080.

http://192.168.10.11:8080/

Ниже вы можете увидеть, что в кластере CockroachDB три узла.

кластер cockroachdb

Тестирование создания новой базы данных в CockroachDB

Теперь, когда кластер CockroachDB работает, вы можете использовать любой сервер в качестве SQL шлюза для доступа к CockroachDB.

Запустите команду Cockroach на сервере 11, чтобы подключиться к кластеру CockroachDB.

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

Вход в SQL оболочку

После подключения к SQL оболочке выполните следующий запрос, чтобы создать новую базу данных.

CREATE DATABASE bank;

Теперь создайте новую таблицу в базе данных, используя следующий запрос.

CREATE TABLE bank.accounts (id INT PRIMARY KEY, balance DECIMAL);

Далее импортируйте образцы данных в таблицу.

INSERT INTO bank.accounts (1, 1000.50);

Проверьте данные в базе данных, используя следующий запрос.

SELECT * FROM bank.accounts;

Вы получите следующий вывод.

Создание новой базы данных и вставка данных

Далее перейдите на сервер 2 или сервер 3 и войдите в SQL оболочку CockroachDB, используя следующую команду.

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

После подключения к SQL оболочке на сервере 3 выполните следующий запрос, чтобы проверить и подтвердить репликацию базы данных.

SELECT * FROM bank.accounts;

Вы увидите, что база данных и данные с сервера 11 автоматически реплицируются на серверы 2 и 3.

проверка базы данных и репликации

Заключение

Поздравляем! Теперь вы установили и настроили кластер CockroachDB на серверах Debian 11. Также вы узнали, как подключиться к оболочке CockroachDB и основные команды SQL для создания базы данных и вставки данных.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.