GNU/Linux >> Linux の 問題 >  >> AlmaLinux

AlmaLinux / RockyLinux8にApacheCassandraをインストールする方法

Apache Cassandraは、オープンソースのNoSQL分散データベース管理システムです。 Cassandraは、データが自動的に複製されるノードをさらに追加することで、水平方向にスケーリングできます。ノードは、ダウンタイムなしで追加または削除できます。ノードは、クラスターまたはリングとして論理的に編成し、複数のデータセンターにまたがってセットアップして、高性能アプリケーションの速度と信頼性を向上させることができます。

このチュートリアルでは、ApacheCassandraをAlmaLinuxおよびRockyLinux8OSにインストールする方法を学習します。特に指定がない限り、両方のオペレーティングシステムのコマンドは同じです。

前提条件
  • 2GB以上のRAMを搭載したAlmaLinuxまたはRockyLinuxを実行しているサーバー。

  • root権限を持つ非sudoユーザー。

  • すべてが更新されます。

    $ sudo dnf update
    
ステップ1-Javaをインストールする

Apache Cassandraが機能するには、Java8が必要です。最新バージョンのCassandraには、Java 11の実験的なサポートが含まれていますが、チュートリアルでは、Java8の使用に固執します。

$ sudo dnf install java-1.8.0-openjdk java-1.8.0-openjdk-devel

Javaのインストールを確認します。

$ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)
ステップ2-ApacheCassandraをインストールします

最初のステップは、Cassandraの公式リポジトリを追加することです。

次のコマンドを実行して、リポジトリファイル/etc/yum.repos.d/cassandra.repoを作成します。 詳細を入力します。

$ sudo tee  /etc/yum.repos.d/cassandra.repo <<EOF
> [cassandra]
> name=Apache Cassandra
> baseurl=https://www.apache.org/dist/cassandra/redhat/40x/
> gpgcheck=1
> repo_gpgcheck=1
> gpgkey=https://www.apache.org/dist/cassandra/KEYS
> EOF

リポジトリファイルが作成されたので、Cassandraをインストールします。

$ sudo dnf install cassandra -y

ステップ3-Cqlshをインストールします

CQLシェル( cqlsh )を使用します )Cassandraと対話するためのツール。このツールは、Python2.7またはPython3.6以降と互換性があります。このチュートリアルでは、Python3.8を使用します。 Python3.8をインストールします。

$ sudo dnf install python38

Python3.8をデフォルトのPythonバージョンとして設定します。

$ sudo update-alternatives --config python
There are 3 programs which provide 'python'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/libexec/no-python
   2           /usr/bin/python3
   3           /usr/bin/python3.8

Enter to keep the current selection[+], or type selection number: 3

複数のオプションが表示されます。この場合、Python3.8をデフォルトバージョンとして設定するために3番目を選択します。

Pythonのインストールを確認します。

$ python --version
Python 3.8.8

update-alternativesを使用した後 ユーティリティ、python3を使用する必要はありません コマンド。

cqlshをインストールします pipPythonパッケージマネージャーを使用します。

$ pip3 install --user cqlsh

cqlshを確認します インストールします。

$ cqlsh --version
cqlsh 6.0.0

ステップ4-CassandraのSystemdユニットファイルを作成します

/etc/systemd/system/cassandra.serviceを作成して開きます 編集用。

$ sudo nano /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

Ctrl + Xを押してファイルを保存します Yと入力します プロンプトが表示されたら。

サービスデーモンをリロードします。

$ sudo systemctl daemon-reload

Cassandraサービスを有効にして開始します。

$ sudo systemctl enable cassandra --now

サービスのステータスを確認してください。

$ sudo systemctl status cassandra
? cassandra.service - Apache Cassandra
   Loaded: loaded (/etc/systemd/system/cassandra.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-12-30 11:07:43 UTC; 12s ago
 Main PID: 4679 (java)
    Tasks: 48 (limit: 23696)
   Memory: 1.3G
   CGroup: /system.slice/cassandra.service
           ??4679 /usr/bin/java -ea -da:net.openhft... -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256>

nodetoolを使用してステータスを確認することもできます コマンド。

$ nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens  Owns (effective)  Host ID                               Rack
UN  127.0.0.1  69.09 KiB  16      100.0%            2fe7ccae-2af9-4841-9bff-bffa29f10dc5  rack1

ステップ5-Cassandraを構成する

Cassandraの構成ファイルのデフォルトの場所は/etc/cassandraです。 。ログおよびデータディレクトリのデフォルトの場所は/var/log/cassandraです。 および/var/lib/cassandra

ヒープサイズなどのJVMレベルの設定は、/etc/cassandra/conf/cassandra-env.shを介して設定できます。 ファイル。追加のJVMコマンドライン引数をJVM_OPTSに渡すことができます 変数。引数は、開始時にCassandraに渡されます。

5.1ユーザー認証を有効にする

ユーザー認証を有効にするには、まず、/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: AllowAllAuthenticator
authorizer: AllowAllAuthorizer
roles_validity_in_ms: 2000
permissions_validity_in_ms: 2000

以下のようにパラメータの値を変更します。

. . .

authenticator: org.apache.cassandra.auth.PasswordAuthenticator
authorizer: org.apache.cassandra.auth.CassandraAuthorizer
roles_validity_in_ms: 0
permissions_validity_in_ms: 0

. . .

要件に基づいて他の設定を構成できます。コメントされている場合は、コメントを外します。

終了したら、 Ctrl + Xを押してファイルを保存します Yと入力します プロンプトが表示されたら。

Cassandraを再起動して、変更された設定を有効にします。

$  sudo systemctl restart cassandra

5.1.1-管理者スーパーユーザーを追加する

認証を有効にしたので、ユーザーを作成する必要があります。そのために、Cassandraコマンドシェルユーティリティを使用します。デフォルトユーザーcassandraの資格情報を使用してログインします 。

$ cqlsh -u cassandra -p cassandra

新しいスーパーユーザーを作成します。 [username]を置き換えます および[yourpassword] クレデンシャルを使用します。

[email protected]> CREATE ROLE [username] WITH PASSWORD = '[yourpassword]' AND SUPERUSER = true AND LOGIN = true;

ログアウトします。

[email protected]> exit

新しいスーパーユーザーアカウントで再度ログインします。

$ cqlsh -u username -p yourpassword

デフォルトのcassandraから昇格された権限を削除します アカウント。

[email protected]> ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;
[email protected]> REVOKE ALL PERMISSIONS ON ALL KEYSPACES FROM cassandra;

スーパーユーザーアカウントにすべての権限を付与します。

[email protected]> GRANT ALL PERMISSIONS ON ALL KEYSPACES TO '[username]';

ログアウトします。

[email protected]> exit

5.2-コンソール構成ファイルを編集する

Cassandra Shellをカスタマイズする場合は、cqlshrcを編集してカスタマイズできます。 ファイル。ファイルのデフォルトの場所は~/.cassandraです。 ディレクトリ。別のディレクトリからロードする場合は、引数--cqlshrc /customdirectoryを渡すことができます。 cqlshに 実行中のツール。

サンプルファイルは/etc/cassandra/conf/cqlshrc.sampleにあります。 CassandraShellに関して構成できるすべての設定が含まれています。

サンプルファイルをコピーして~/.cassandraに名前を変更します ディレクトリ。

$ 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]
;; If Cassandra has auth enabled, fill out these options
username = [superuser]
password = [password]

....

変更するその他の設定を編集します。一部の設定は、;;を使用してコメント化されています 。二重のセミコロンを削除してコメントを解除してから、変更を加えます。

終了したら、 Ctrl + Xを押してファイルを保存します Yと入力します プロンプトが表示されたら。

新しい変更を加えてCassandraシェルにログインします。

$ cqlsh
Connected to Test Cluster at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
[email protected]>

5.3-クラスターの名前を変更

最後に、 Test Clusterからクラスター名の名前を変更します 選択した名前に。

cqlshにログインします ターミナル。

$ cqlsh

[clustername]を置き換えます 以下のコマンドで新しいクラスター名を使用します。

[email protected]> UPDATE system.local SET cluster_name = '[new_name]' WHERE KEY = 'local';

シェルを終了します

[email protected]> exit

ファイル/etc/cassandra/conf/cassandra.yamlを開きます 編集用。

$ sudo nano /etc/cassandra/conf/cassandra.yaml

変数cluster_nameの値を置き換えます 選択した名前で。

...

# The name of the cluster. This is mainly used to prevent machines in
# one logical cluster from joining another.
cluster_name: '[new_name]'

...

終了したら、 Ctrl + Xを押してファイルを保存します Yと入力します プロンプトが表示されたら。

Cassandraシステムキャッシュをクリアします。

$  nodetool flush system

Cassandraを再起動します。

$  sudo systemctl restart cassandra

シェルにログインして、新しい名前を確認します。

$  cqlsh
Connected to HowtoForge Cluster at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
[email protected]>
結論

このチュートリアルでは、ApacheCassandraをAlmaLinuxまたはRockyLinuxサーバーにインストールする方法を学びました。また、ユーザー認証を追加し、いくつかの基本的な構成を実行する方法も学びました。詳細については、Cassandraの公式ドキュメントをご覧ください。ご不明な点がございましたら、下のコメント欄に投稿してください。


AlmaLinux
  1. AlmaLinuxにApacheをインストールする方法

  2. Debian10LinuxにApacheCassandraをインストールする方法

  3. AlmaLinux /RockyLinuxにDockerをインストールする方法

  1. Rocky Linux 8 /AlmaLinux8にJenkinsをインストールする方法

  2. RockyLinuxおよびAlmaLinuxにSambaをインストールする方法

  3. RockyLinuxおよびAlmaLinuxにPostgreSQL14をインストールする方法

  1. AlmaLinux8にApacheCassandraをインストールする方法| Rocky Linux 8

  2. LinuxKernel5.xをAlmalinux8またはRockyにインストールする方法

  3. Almalinux 8 / RockyLinux8にApacheをインストールする方法