データベース · 1 min read · Nov 30, 2025

Debian 11にCockroachDBクラスターをインストールする方法

CockroachDBは、クラウドアプリケーション向けのオープンソースの分散型でスケーラブルなSQLデータベースです。CockroachDBは次世代の整合性、複製されたSQLデータベース、およびトランザクショナルデータストアを提供します。CockroachDBはデータを複数の場所に保存し、データの配信を迅速にします。また、スケーリングが容易で、高可用性と障害耐性をアプリケーションに提供します。

このチュートリアルでは、Debian 11サーバーにCockroachDBクラスターをインストールする方法を示します。

前提条件

  • 2台以上のDebian 11サーバー。
  • サーバーにルートパスワードが設定されていること。

すべての3台のサーバーにCockroachDBをインストールする

インストールは簡単です。CockroachDBは、システムにダウンロードできるLinuxシステム用のバイナリファイルを提供しています。

以下のコマンドを使用して、Linux用のCockroachDBバイナリファイルをダウンロードします。このコマンドは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

次の出力が得られます。

checking cockroachdb

ファイアウォールの設定

Debianサーバーでファイアウォールを実行している場合は、ファイアウォール設定にCockroachDBポートを追加する必要があります。

CockroachDBは、Webベースの管理用にポート8080を、ユーザー接続およびクラスター構成用にポート26257を使用します。

以下のコマンドを使用して、UFWファイアウォールにポート808025267を追加します。

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

次に、UFWファイアウォールルールを再読み込みし、ファイアウォールルールの現在の状態を確認します。

sudo ufw reload  
sudo ufw status

以下に、ポート808025267がUFWファイアウォールに追加されたことが確認できます。

setup ufw firewall

CockroachDBクラスターの初期化

CockroachDBクラスターを初期化するには、server11で以下のコマンドを実行します。

以下のオプションの値を変更する必要があります。

  • –store: CockroachDBクラスターのデータを保存するため。
  • –listen-addr: CockroachDBがサーバー上で実行されるIPアドレス。CockroachDBのデフォルトポートはポート25267です。
  • –http-addr: CockroachDBのWebベースの管理が実行されるIPアドレス。CockroachDBのWebベースの管理のデフォルトはポート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

次の出力が得られます。

start cluster on server11

次に、server2に移動し、以下のコマンドを実行してCockroachDBを起動し、クラスターに参加します。–listen-addr–http-addrのIPアドレスをserver2のIPアドレスに変更します。

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から次の出力が得られます。

start cluster on server2

次に、server3に移動し、以下のコマンドを実行してCockroachDBを起動し、CockroachDBクラスターに参加します。また、–listen-addr–http-addrのIPアドレスをserver3のIPアドレスに変更します。

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から次の出力が得られます。

start cluster 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のCockroachDBクラスター初期化のログが表示されます。

initialized cluster

最後に、Webブラウザを開き、ポート8080の後にサーバーのIPアドレスを入力します。

http://192.168.10.11:8080/

以下に、CockroachDBクラスターに3つのノードがあることが確認できます。

cockroachdb cluster

CockroachDBで新しいデータベースを作成するテスト

CockroachDBクラスターが実行されているので、任意のサーバーをSQLゲートウェイとして使用してCockroachDBにアクセスできます。

server11でCockroachDBクラスターに接続するためにCockroachコマンドを実行します。

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

Login to SQL shell

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;

次の出力が得られます。

Create new database and insert data

次に、server2またはserver3に移動し、以下のコマンドを使用してCockroachDB SQLシェルにログインします。

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

server3のSQLシェルに接続したら、以下のクエリを実行してデータベースのレプリケーションを確認します。

SELECT * FROM bank.accounts;

server11のデータベースとデータが自動的にserver2とserver3にレプリケートされていることが確認できます。

checking database and replication

結論

おめでとうございます!Debian 11サーバーにCockroachDBクラスターをインストールおよび構成しました。また、CockroachDBシェルに接続する方法と、データベースを作成しデータを挿入するための基本的なSQLコマンドを学びました。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。