CentOS8にApacheCassandraをインストールする方法


Apache Cassandraは、キーと値のペアでデータを格納する堅牢なフリーのオープンソースNoSQLデータベースです。 Cassandraは当初Facebookによって開発され、後にApacheFoundationによって買収されました。

Apache Cassandraは、単一障害点のない一貫性、水平方向のスケーラビリティ、および高可用性を提供するように構築されています。フォールトトレランスを提供し、99.99%の稼働時間を保証するDynamoスタイルのレプリケーションを実装します。これにより、ダウンタイムを許容できないビジネスクリティカルなアプリケーションでの使用に最適です。

環境にApacheCassandraを実装している注目すべき企業には、Netflix、Facebook、Twitter、eBayなどがあります。

このガイドでは、CentOS8およびRHEL8LinuxディストリビューションへのApacheCassandraのインストールに焦点を当てています。

CentOS8へのJavaのインストール

まず、Javaを提供するシステムにOpenJDK8をインストールします。ただし、最初に、Javaがインストールされているかどうかを確認しましょう。これを行うには、次のコマンドを呼び出します。

$ java -version

システムにJavaが存在しない場合は、次のような出力が表示されます。

bash: java: command not found...

OpenJDK 8をインストールするには、次のdnfコマンドを実行します。

$ sudo dnf install java-1.8.0-openjdk-devel

これにより、示されているように、他の依存関係とともにOpenJDK8がインストールされます。

インストールが完了したら、次のようにOpenJDKがインストールされていることをもう一度確認します。

$ java -version

注:OpenJDK 8とは別にOpenJDKの別のバージョンがインストールされている場合は、以下のコマンドを実行して、デフォルトのJavaバージョンをOpenJDK8に設定できます。

$ sudo alternatives --config java

その後、OpenJDK 8に対応するオプションを選択します。以下のスクリーンショットでは、デフォルトのJavaバージョンをOpenJDK11からOpenJDK8に切り替えています。

CentOS8へのApacheCassandraのインストール

Javaをインストールした後、ApacheCassandraのインストールに進むことができます。以下に示すように、ApacheCassandraの新しいリポジトリファイルを作成します。

$ sudo vim /etc/yum.repos.d/cassandra.repo

次に、図のようにCassandraのリポジトリを追加します。

[cassandra]
name=Apache Cassandra
baseurl=https://www.apache.org/dist/cassandra/redhat/311x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.apache.org/dist/cassandra/KEYS

リポジトリファイルを保存して終了します。

次に、次のコマンドを使用してApacheCassandraをインストールします。

$ sudo dnf install Cassandra

その後、多数のGPGキーを受け入れます。

インストールが完了したら。以下のrpmコマンドを実行して、ApacheCassandraが正常にインストールされたことを確認します。

$ rpm -qi Cassandra

バージョン、リリース、アーキテクチャ、サイズ、ライセンスなどのApache Cassandraに関する詳細情報と、いくつか言及する簡単な説明が表示されます。

その後、図のようにCassandraのsystemdサービスファイルを作成します。

$ sudo vim /etc/systemd/system/cassandra.service

次の行を追加します。

[Unit]
Description=Apache Cassandra
After=network.target

[Service]
PIDFile=/var/run/cassandra/cassandra.pid
User=cassandra
Group=cassandra
ExecStart=/usr/sbin/cassandra -f -p /var/run/cassandra/cassandra.pid
Restart=always

[Install]
WantedBy=multi-user.target

ファイルを保存して終了します。

次に、Cassandraを起動し、次のコマンドを呼び出してステータスを確認します。

$ sudo systemctl start cassandra
$ sudo systemctl status Cassandra

出力は、Cassandraが稼働中であることを確認します。さらに、次のコマンドを発行して、Cassandraが起動時または再起動時に起動できるようにすることができます。

$ sudo systemctl enable Cassandra

Cassandraにログインし、Cassandraクエリ言語を操作するには、cqlshコマンドラインツールを使用します。ただし、これを機能させるには、Python2インタープリターをインストールする必要があります。

Python2をインストールせずにログインしようとすると、以下のエラーが発生します。

$ cqlsh

No appropriate python interpreter found.

したがって、Python2は不可欠であり、インストールする必要があります。これをインストールするには、次のコマンドを実行します。

$ sudo dnf install python2

これにより、示されているように、他の依存関係と一緒にPython2がインストールされます。

ログインしてみてください。今回はログインに成功します。

$ cqlsh

CentOS8でのApacheCassandraの構成

Cassandraのデフォルト設定を変更するには、/ etc/cassandraディレクトリにある構成ファイルを確認してください。データは/ var/lib/cassandraパスに保存されます。起動オプションは、/ etc/default/cassandraファイルで微調整できます。

デフォルトでは、Cassandraのクラスター名は「TestCluster」です。ログインして以下のコマンドを実行することにより、これを希望のクラスター名に変更できます。

UPDATE system.local SET cluster_name = 'Tecmint Cluster' WHERE KEY = 'local';

この例では、クラスター名を「TecmintCluster」に設定しています。

次に、 cassandra.yaml ファイルに移動します。

$ sudo vim /etc/cassandra/default.conf/cassandra.yaml

以下に示すように、それに応じてcluster_nameディレクティブを変更します。

構成ファイルを保存して終了し、Cassandraサービスを再起動します。

$ sudo systemctl restart Cassandra

図のように、再度ログインしてクラスター名を確認します。

これで、このチュートリアルは終了です。 CentOS8およびRHEL8LinuxディストリビューションにApacheCassandraをインストールすることに成功したことを願っています。