Apache Cassandraは、クラウドコンピューティング用に開発されたオープンソースの分散データベースです。単一障害点や手動調整のない、可用性と拡張性に優れたデータベースサービスを提供します。
Apache Cassandraは、ロボットの作成を支援するために人工知能で使用される最も人気のあるデータベースの1つです。コモディティハードウェアを使用して迅速にスケールアップできるため、Cassandraは、将来のロボットデータ管理デバイスを強化する主要なデータストレージシステムの1つになる可能性があります。
ApacheCassandraはNoSQLデータベースです。 Apache Thriftインターフェースの追加により、Cassandraを使用してSQLを使用せずにデータを保存および管理できると同時に、開発者はRESTやThriftなどの使い慣れたアプリケーション開発プロトコルを使用できます。
Cassandraは、主にFacebookエンジニアのPrashantMalikによって開発されました。このデータベースは、2008年に自動車事故で亡くなったFacebookの共同創設者の妻にちなんで名付けられました。このデータベースは、Apache ZooKeeperを使用した配布、レプリケーション、障害検出、負荷分散をサポートするGoogleのBigTableアーキテクチャに基づいて構築されています。
Cassandraでは、データはサーバーのクラスター全体に分散されます。単一障害点がなく、データを失うことなく、任意の数のマシンの損失に耐えることができます。必要に応じて、マシンを追加するだけでシステムの総容量を増やすことができます。 Cassandraは、修復の進行中に書き込みの可用性を犠牲にして、頻繁な障害と任意のマシンの損失を非常にうまく処理するように設計されています。
ApacheCassandraをNoSQLデータベースとして使用することには多くの利点があります。ただし、インストールして開始するのは難しい場合があります。このチュートリアルでは、独自のDebian 11サーバーでCassandraを使い始め、可能な限りシンプルにする方法を紹介します。
コンピューター上にApacheCassandraのクラスターを作成する方法を学習します。また、クライアントプログラム「cqlsh」を使用して、コンピューターにインストールしたCassandraデータベースと対話する方法についても学習します。
このチュートリアルを読むと、Cassandraを自分のコンピューターに簡単にインストールして使用できるようになります。
前提条件
このチュートリアルを完了するには、次の仕様のUbuntu20.04またはDebian11サーバーが必要です。
- 最低2GBのRAM、それぞれ2.0GHzで2つのCPU。インストール用に少なくとも40GBのハードディスク容量。
- sudo権限を持つroot以外のユーザーがサーバーに設定されています。
システムの更新
まず、サーバーで次のコマンドを発行して、最新の状態になっていることを確認します。
sudo apt update -y && sudo apt upgrade -y
次に、Cassandraに必要なパッケージをインストールします。
sudo apt install build-essential binutils bsdmainutils gnupg2 curl -y
Java(JDK)のインストール
次に、Java Development Kit(JDK)をサーバーにインストールします。
Java Development Kit(JDK)には、Javaプログラムを開発するためのコンパイラとツールが含まれています。
Cassandraクライアントプログラムcqlshを実行する必要があるため、Cassandraサーバーを実行する必要があります。デフォルトでは、cqlshはコンピュータにインストールされているJavaランタイム環境(JRE)を検索します。ただし、デフォルトでインストールされるため、UbuntuまたはDebianベースのシステムにJREをインストールするのが難しい場合があります。
このデモでは、公式の安定したOpenJDK11JDKをインストールします。 OpenJDKは、Oracleからの公式の安定したOpenJDKリリースであり、JREの最良の代替手段であり、次の優れたアプリの開発にJDKを使用したい場合に失望することはありません。
以下のコマンドを実行して、サーバーにopenjdk-11-openjdkをインストールします。
sudo apt install openjdk-11-jre -y
インストール後、以下のコマンドを実行してテストし、正しくインストールされていることを確認します。
java -version
-versionは、システムにインストールされているJavaのバージョンを表示する端末の組み込みコマンドです。以下に示すバージョン番号が表示されている場合は、このJDKが正常にインストールされたことを意味します。
Debian11へのApacheCassandraNoSQLDBのインストール
システムを更新し、必要なパッケージをインストールしたので、サーバーにCassandraをインストールする準備が整いました。
デフォルトでは、Debian11のベースリポジトリにはCassandraは含まれていません。 Cassandraをインストールするには、Cassandra開発者からの公式Cassandraリポジトリを追加する必要があります。
公式のCassandraリポジトリには、Cassandraの最新の安定したリリース、その依存関係、およびそのアドオンが含まれています。
以下のコマンドを実行して、公式のCassandraリポジトリの認証キーを追加します。このコマンドは、公式のCassandraリポジトリの認証キーをシステムのAPTキーリングに追加します。
認証キーを追加することで、許可されていない個人がバックドアバージョンのCassandraまたはマルウェアを含む悪意のあるリポジトリを追加するのを防ぎます。また、偽装リポジトリではなく、公式リポジトリにアクセスしていることも確認します。
curl https://downloads.apache.org/cassandra/KEYS | apt-key add -
認証キーが正常に追加されると、OKメッセージが表示されます。
次に、公式のCassandraリポジトリをシステムのAPTソースリストに追加します。このコマンドは、公式のCassandraリポジトリをシステムのAPTソースリストに追加します。パッケージの署名に使用されるGPGキー情報は、この時点でキーサーバーネットワークから自動的に取得されます。
echo "deb https://downloads.apache.org/cassandra/debian 40x main" | tee -a /etc/apt/sources.list.d/cassandra.list
公式のCassandraリポジトリをシステムに追加した後、以下のコマンドを実行してAPTソースリストを更新します。
sudo apt update -y
APTソースリストを更新したら、以下のコマンドを実行して、公式のCassandraリポジトリがシステムのAPTソースリストに適切に追加されているかどうかを確認します。
apt-cache policy
以下のような出力が得られます。リポジトリがシステムのAPTソースリストに適切に追加されていることがわかります。次の手順に進む前に、リポジトリのバージョンが出力に40xとして表示されていることを確認する必要があります。
これで、ターミナルまたはコマンドプロンプトで以下のコマンドを使用してCassandraをインストールできます。
sudo apt install cassandra -y
インストール後、次のコマンドを実行して、Cassandraがシステムに正しくインストールされているかどうかを確認します。インストールされているCassandraのステータスが表示されます。
sudo systemctl status cassandra
ApacheCassandraのテスト
これでCassandraが正常にインストールされたので、テストする準備が整いました。そこで、nodetoolを使用してCassandraサーバーをテストすることから始めます。 Nodetoolは、Cassandraインストールの問題を診断するために使用されるユーティリティです。
ライブのノード、各列ファミリーに必要なレプリカの数などに関する情報をCassandraから読み取ります。次に、Cassandraから取得した情報を出力し、スキーマが与えられた場合に予想される情報と比較します。基本的な構成の問題をキャッチしようとします。
nodetool statusコマンドを実行して、インストールに関するエラーと警告を確認します。
nodetool status
以下のような出力が得られます。エラーがない場合は、サーバーにCassandraが正常にインストールされています。
cqlshクライアントを使用してCassandraをテストすることもできます。 cqlshは、Cassandraにバンドルされている公式のCassandraクライアントプログラムです。このデモでは、cqlshを使用してシステム上のクラスターのデフォルト名を変更することにより、サーバー上でCassandraのテストを続行します。次に、クラスターの名前を再確認します。
以下のcqlshコマンドを実行して、Cassandraサーバーにログインします。
cqlsh
以下のような画面が表示されます。
システム上のクラスターの名前を変更するには、プロンプトで以下のクエリを追加し、Enterキーを押します。
exitと入力し、Enterキーを押してcqlshを終了します。
/etc/cassandra/cassandra.yamlを開きます テキストエディタでファイルします。
sudo nano /etc/cassandra/cassandra.yaml
cluster_name:‘Test Cluster’を見つけます 行を入力し、名前をVituxに変更します。 Ctrl + O、Enter、Ctrl + Xの順に入力してファイルを保存し、終了します。
前
後
これで、クラスターの名前が Vituxになりました。 、サーバーのクラスタ名を再確認してください。
cqlsh
クラスタの名前がシステムのVituxに変更されたことがわかる場合は、端末でCassandraのcqlshクライアントを使用してクラスタの名前を正常に変更したことを意味します。
結論
この記事では、CassandraをDebian11サーバーにインストールする方法を示しました。また、cqlshを使用してシステムにログインし、クラスターの名前をTestClusterからVituxに変更してインストールをテストする方法。カサンドラについて詳しく知りたい場合は、公式ウェブサイトにアクセスしてください。