Apache Cassandra は、多くのコモディティ サーバー間で大量のデータを処理するように設計された、拡張性に優れた高性能の分散データベースで、単一障害点のない高可用性を実現します。複数のデータ センターにまたがるクラスターを強力にサポートし、非同期のマスターレス レプリケーションにより低レイテンシと操作のシンプルさを実現していることで知られています。Cassandra は、高い書き込みスループット、フォールト トレランス、線形スケーラビリティを必要とするアプリケーションに最適です。
次のガイドでは、コマンドライン コマンドを使用して Rocky Linux 9 または 8 に Apache Cassandra をインストールする手順を説明します。このプロセスでは、適切なリポジトリを設定し、分散データベース環境の最適なパフォーマンスと信頼性を確保するためにシステムを構成する必要があります。
Apache Cassandra をインストールする前に Rocky Linux システムを更新する
まず、Apache Cassandra をインストールする前に、NoSQL データベースのインストール時に潜在的な問題を回避するために、すべてのシステム パッケージが最新であることを確認することをお勧めします。
ターミナルで次のコマンドを実行し、未処理のパッケージをアップグレードします。
sudo dnf upgrade --refresh
Apache Cassandra リポジトリをインポートする
最初のステップは、Apache Cassandra のリポジトリをインポートすることです。幸い、これは 1 つのコマンドで実行できます。チュートリアルでは、5.0、4.0、または 4.1 ブランチをインポートする方法を説明します。3.xx ブランチは終了に近づいているため、チュートリアルにはこれらを追加する手順は含まれません。
4.0 Apache Cassandra RPM インポート
sudo tee /etc/yum.repos.d/cassandra-4.0.repo<<EOF
[cassandra]
name=Apache Cassandra 4.0
baseurl=https://redhat.cassandra.apache.org/41x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF
4.1 Apache Cassandra RPM インポート
sudo tee /etc/yum.repos.d/cassandra-4.1.repo<<EOF
[cassandra]
name=Apache Cassandra 4.1
baseurl=https://redhat.cassandra.apache.org/41x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF
5.0 Apache Cassandra RPM インポート
sudo tee /etc/yum.repos.d/cassandra-5.0.alpha.repo<<EOF
[cassandra]
name=Apache Cassandra 5.0
baseurl=https://redhat.cassandra.apache.org/50x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF
DNF コマンドで Apache Cassandra をインストールする
次のコマンドで Cassandra をインストールできます。リポジトリがインポートされました。
sudo dnf install cassandra -y
次のコマンドを実行して、インストールされているバージョンを確認します。
cassandra -v
GPG キーのインポート時に次のエラーが表示される場合は注意してください。
Key import failed (code 2). Failing package is: cassandra-4.1~alpha1-1.noarch
GPG Keys are configured as: https://www.apache.org/dist/cassandra/KEYS
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
暗号化ポリシーを変更し、ポリシーを LEGACY に設定します。
sudo update-crypto-policies --set LEGACY
場合によっては、この変更を正常に行うために再起動が必要になることがあります。再起動は必要ないことがわかりましたが、お勧めします。
reboot
Apache Cassandra Systemd サービスを作成する
インストールが完了したら、systemd サービスを作成する必要があります。これも簡単な作業です。次のコマンドをコピーして貼り付け、ファイルを作成します。
sudo tee /etc/systemd/system/cassandra.service<<EOF
[Unit]
Description=Apache Cassandra
After=network.target
[Service]
Type=simple
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
EOF
Cassandra サービスの使用を開始するにはデーモンをリロードする必要があり、この手順をスキップすることはできません。
sudo systemctl daemon-reload
次に、Cassandra サービスを開始します。
sudo systemctl start cassandra
次に、Cassandra の systemctl ステータスをチェックして、エラーがないことを確認します。
systemctl status cassandra
オプションで、次のコマンドを使用して、コンピューターまたはサーバーの起動時に Cassandra サービスを自動的に起動するように設定できます。
sudo systemctl enable cassandra
Rocky Linux に Apache Cassandra クライアント (cqlsh) をインストールする
Pythonをインストールする
Cassandraクライアントをインストールする前に、システムでPythonが利用可能であることを確認してください。Apache Cassandraのクライアントは、 cqlsh
は Python ベースなので、Python が前提条件となります。次のコマンドを実行して、Rocky Linux に Python をインストールします。
sudo dnf install python3 -y
PIPをインストールする
次に、Python パッケージを管理するための Python パッケージ マネージャーである PIP をインストールします。PIP は Cassandra Python ドライバーのインストールに不可欠です。システムに PIP がまだインストールされていない場合は、次のコマンドを実行して追加します。
sudo dnf install python3-pip -y
Cassandra Python ドライバーをインストールする
Cassandra Pythonドライバは、 cqlsh
Cassandra データベースに接続します。このドライバーにより、クライアントとデータベース間の通信が可能になります。次のコマンドで PIP を使用してドライバーをインストールします。
pip install cassandra-driver
cqlshのインストール
前提条件が整ったら、インストールの準備が整いました。 cqlsh
このコマンドラインインターフェースを使用すると、Apache Cassandraとの対話が可能になり、クエリの実行やデータベースの管理が可能になります。インストール cqlsh
次を実行します:
pip install cqlsh
最後に、次のコマンドを使用して cqlsh に接続します。
cqlsh
接続が成功した場合の出力例:
[cqlsh 6.1.0 | Cassandra 4.1-alpha1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
cqlsh>
Apache Cassandra を構成する
Cassandra をセットアップしてカスタマイズするには、構成ファイルの変更と特定のコマンド ライン ユーティリティの使用が必要です。
基本設定のセットアップ
Cassandraの主な設定ファイルは、 /etc/cassandra
一方、ログとデータディレクトリは通常、 /var/log/cassandra
そして /var/lib/cassandra
それぞれ。
ヒープサイズなどのJVMレベルでの調整については、 /etc/cassandra/conf/cassandra-env.sh
ファイル。このファイル内で、追加のJVMコマンドライン引数を追加できます。 JVM_OPTS
Cassandra が起動時に読み取る変数。
Apache Cassandra でユーザー認証を有効にする
ユーザー認証を有効にする前に、 /etc/cassandra/conf/cassandra.yaml
ファイル:
sudo cp /etc/cassandra/conf/cassandra.yaml /etc/cassandra/conf/cassandra.yaml.backup
次に、 cassandra.yaml
ファイル:
sudo nano /etc/cassandra/conf/cassandra.yaml
ファイル内で、次のパラメータを検索して変更する必要があります。
authenticator: org.apache.cassandra.auth.PasswordAuthenticator
authorizer: org.apache.cassandra.auth.CassandraAuthorizer
roles_validity_in_ms: 0
permissions_validity_in_ms: 0
必要に応じて他の設定を調整し、コメントアウトされている場合は必ずコメントを解除してください。ファイルを保存して編集プロセスを完了します。
その後、Cassandra を再起動して変更を適用します。
sudo systemctl restart cassandra
Apache Cassandra の管理スーパーユーザーの追加
認証が有効になったので、ユーザーを構成することが重要です。Cassandra コマンド シェル ユーティリティを使用して、デフォルトのユーザー資格情報でログインします。
cqlsh -u cassandra -p cassandra
置き換えて新しいスーパーユーザーを開始する [username]
そして [yourpassword]
詳細を記入してください:
CREATE ROLE [username] WITH PASSWORD = '[yourpassword]' AND SUPERUSER = true AND LOGIN = true;
その後、終了し、新しいスーパーユーザーの詳細で再度ログインします。
cqlsh -u username -p yourpassword
デフォルトの Cassandra アカウントの昇格された権限を減らします。
ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;
REVOKE ALL PERMISSIONS ON ALL KEYSPACES FROM cassandra;
そして、スーパーユーザーに完全な権限を付与します。
GRANT ALL PERMISSIONS ON ALL KEYSPACES TO '[username]';
ログアウトしてこのセクションを終了します。
コンソール構成のカスタマイズ
Cassandra Shellはニーズに合わせてカスタマイズできます。 cqlshrc
ファイルが見つかりました ~/.cassandra
ディレクトリ。設定可能な内容を示すサンプルファイルは、 /etc/cassandra/conf/cqlshrc.sample
.
まず、このサンプル ファイルをコピーします。
sudo cp /etc/cassandra/conf/cqlshrc.sample ~/.cassandra/cqlshrc
調整する cqlshrc
ファイルの権限:
sudo chmod 600 ~/.cassandra/cqlshrc
sudo chown $USER:$USER ~/.cassandra/cqlshrc
編集用に開きます:
nano ~/.cassandra/cqlshrc
スーパーユーザーの資格情報を使用してログインを自動化するには、次のセクションを見つけて編集します。
[authentication]
username = [superuser]
password = [password]
編集が完了したら必ず保存してください。これで、Cassandra シェルにログインすると、変更が反映されます。
cqlsh
クラスターの名前を変更する
システムを識別しやすくするために、クラスタの名前を変更したい場合があります。 cqlsh
ターミナル:
cqlsh
交換する [new_name]
希望するクラスター名を入力します:
UPDATE system.local SET cluster_name = '[new_name]' WHERE KEY = 'local';
ターミナルを終了して開く /etc/cassandra/conf/cassandra.yaml
さらに編集するには:
sudo nano /etc/cassandra/conf/cassandra.yaml
見つける cluster_name
変数を作成し、その値を選択した名前に置き換えます。変更を保存します。
最後に、Cassandra のシステム キャッシュをクリアします。
nodetool flush system
Cassandraを再起動します。
sudo systemctl restart cassandra
シェルにログインすると、選択したクラスター名が表示されます。
構成の変更を確認する
構成の変更を行った後は、必ず変更が有効になっていることを確認し、Cassandra クラスターの全体的な健全性をチェックすることをお勧めします。
クラスター名の検証: ログインし直したら、名前変更のプロセスを投稿してください。 cqlsh
シェル:
cqlsh
プロンプトに新しく設定されたクラスター名が表示されます。
結論
このガイドでは、Apache Cassandra を Rocky Linux にインストールする手順について、バージョン 9 と 8 の両方を取り上げながら説明しました。これらの手順は、ビッグ データのニーズに対応する堅牢でスケーラブルなデータベース ソリューションを提供します。定期的に更新をチェックして、Cassandra のパフォーマンスとセキュリティを維持してください。Cassandra を実際に使用して、その機能を完全に習得してください。実際に使用して実験し、データ管理をどのように変革できるかを確認してください。