Поиск по сайту:

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


На этой странице

  1. Предпосылки
  2. Установка CockroachDB на всех трех серверах
  3. Настройка брандмауэра
  4. Инициализация кластера CockroachDB
  5. Тестирование создания новой базы данных на CockroachDB
  6. Заключение

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

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

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

Если вы используете брандмауэр на своих серверах 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.

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

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

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

  • --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

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

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

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

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

Затем перейдите на server3 и выполните следующую команду, чтобы запустить cockroachdb и присоединиться к кластеру cockroachdb. Кроме того, измените IP-адрес --listen-addr и --http-addr на IP-адрес server3.

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

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

После того, как все будет завершено, вернитесь к server11 и выполните приведенную ниже команду, чтобы инициализировать кластер cockroachdb.

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

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

Вы можете запустить команду grep ниже, чтобы проверить журнал инициализации cockroachdb. Измените каталог server11 на каталог --store cockroachdb.

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

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

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

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

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

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

Запустите команду cockroach на server11, чтобы подключиться к кластеру cockroachdb.

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

После подключения к оболочке 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;

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

Затем перейдите на server2 или server3 и войдите в оболочку SQL cockroachdb, используя следующую команду.

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

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

SELECT * FROM bank.accounts;

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

Заключение

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