Ubuntu Server 20.04でCockroachDB Clusterを展開する方法 - TechRepublic

Ubuntu Server 20.04でCockroachDB Clusterを展開する方法 - TechRepublic
テラデータ vs スノーフレーク
画像: sdecoret/Adobe Stock

CockroachDB は、クラウドネイティブアプリケーションと開発向けに特別に開発された、オープンソースの分散型スケーラブル SQL データベースです。Cockroach は、強力な一貫性を備えたデータベースレプリケーション、SQL クエリ言語のサポート、自動スケーリングと修復、高可用性といった機能を特徴としています。

参照:知っておくべきオープンソースと Linux の用語 40 選 (TechRepublic Premium)

CockroachDB は、分散専用のトランザクション処理、低レイテンシまたは規制コンプライアンスのための地理的パーティショニング、メタデータ、記録システム、クラウドへのレガシー ブリッジとして、また信頼性、可用性、拡張性、正確性を備えたデータを必要とするあらゆるアプリケーションに最適なデータベース システムです。

Ubuntu Server 20.04にCockroachDBをインストールするだけでなく、クラスターとしてデプロイする方法についても解説します。2台のサーバーのみでデモを行いますが、必要に応じてノード数を増やすことができます。

必要なもの

2ノードのCockroachDBクラスタをデプロイするには、Ubuntu Serverのインスタンス2つとsudo権限を持つユーザーが必要です。これで準備は完了です。さあ、これを壁に投げつけて、うまくいくかどうか試してみましょう。

CockroachDB のインストール方法

両方のサーバーにCockroachDBをインストールする必要があります。ここでは、IPアドレス192.168.1.50のノードとIPアドレス192.168.1.51のノードを使ってデモを行います。

最初のサーバーにログインします。次のコマンドでバイナリファイルをダウンロードし、/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/

ファイルをダウンロードしたら、次のコマンドで新しいディレクトリを作成します。

sudo mkdir -p /usr/local/lib/cockroach

ディレクトリを作成したら、次の 2 つのコマンドを使用して 2 つの libgeos ファイルをディレクトリにコピーする必要があります。

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

コマンドcockroach versionを実行すると、次のような行が表示されます。

Build Tag:        v21.2.8

CockroachDB は最初のサーバーにインストールされています。次に進む前に、2 番目のサーバーでも同じ操作を実行してください。

CockroachDB でファイアウォールを設定する方法

次のステップは、必要なCockroachDBポートに対してファイアウォールを開くことです。そのためには、以下のコマンドを実行してポートを追加します。

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

次に、次のコマンドでファイアウォールをリロードします。

sudo ufw reload

クラスターの作成方法

いよいよ楽しい作業です。まずは個々のノードを設定し、次にクラスターを初期化します。最初のサーバー(ここではserver1とします)で、以下のコマンドを実行します(IPアドレスは各ノードに割り当てたIPアドレスに合わせて変更してください)。

cockroach start --insecure --store=server1 --listen-addr=192.168.1.50:26257 --http-addr=192.168.1.50:8080 --join=192.168.1.50:26257,192.168.1.51:26258 --background

server2 でも同じことを実行しますが、コマンドは次のようになります (ここでも、スキームに合わせて IP アドレスを変更します)。

cockroach start --insecure --store=server2 --listen-addr=192.168.1.51:26257 --http-addr=192.168.1.51:8080 --join=192.168.1.50:26257,192.168.1.51:26258 --background

両方のサーバーが設定されたら、サーバー 1 に戻り、次のコマンドでクラスターを初期化します (IP アドレスをサーバー 1 の IP アドレスに変更します)。

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

これで、CockroachDB クラスターが起動して実行されるはずです。

ウェブインターフェースにアクセスする方法

ウェブブラウザを開き、http://SERVER:8080(SERVERはserver1のIPアドレス)にアクセスします。すると、CockroachDBのウェブベース管理コンソール(図A)にすぐにアクセスできるようになります。

図A

CockroachDB 管理コンソールには、クラスターの両方のノードが明確に表示されます。
CockroachDB 管理コンソールには、クラスターの両方のノードが明確に表示されます。

注意すべき点は、Webコンソールからはデータベースの作成や編集ができないことです。このツールは、クラスターの健全性を監視し、パフォーマンスを最適化するためのものです。データベースの作成と操作には、CockroachDBコマンドラインコンソールを使用します。これは、以下のコマンドでアクセスできます(IPアドレスはserver1のIPアドレスに変更してください)。

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

おめでとうございます。これで準備は完了です。ユーザーフレンドリーなWebベースのUIから、Cockroachデータベースの構築と管理、そしてクラスターの追跡を開始できます。

Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube でTechRepublic の How To Make Tech Work を購読してください。

Tagged: