このチュートリアルで提供されている端末を使用して、RockyLinuxまたはAlmaLinux8サーバーにApacheCassandraをインストールするためのコマンドを学習します。
Apache Cassandraは、最も人気のあるNoSQL列指向データベースであり、MongoDB(C ++)とHBaseの両方とは異なり、Javaで記述されています。 Cassandraはそのアーキテクチャ上の特性により、ビッグデータプロジェクトでよく使用されますが、アプリケーションサーバー/フレームワークと連携して複雑なWebアプリケーションにも使用できます。
Cassandraは、非常に大量の構造化データを管理するように設計された分散データベース管理システムであり、NoSQLデータベースシステムのクラスに属しています。
ソーシャルネットワークで分散データベースとして使用されることに加えて、このデータベースは、たとえば、ソーシャルニュースアグリゲーターのRedditやソーシャルブックマークプロバイダーのDiggによっても使用されます。
RockyLinux8にApacheCassandraをインストールする手順| AlmaLinux 8
ここで説明する手順は、CentOS8やOracleLinuxなどの他のRedHatベースのLinuxディストリビューションでも同じです…
1。 DNFアップデートを実行する
まず、システム更新コマンドを実行して、システムにインストールされているパッケージが最新であることを確認します。これにより、リポジトリキャッシュが更新されます。
sudo dnf update
EPELとPowerToolsも有効にします:
sudo dnf install yum-utils
sudo dnf install epel-release
sudo dnf config-manager --set-enabled powertools
2。デフォルトのOpenJDK-Javaをインストールする
Apache CassandraはJavaで記述されているため、それが必要です。 DNFパッケージマネージャーをOpenJDKとして使用して、AmalinuxとRockyの両方のデフォルトのベースリポジトリを介して利用可能なランタイム環境も提供するJavaDevelopmentKit。
この記事の執筆中にCassandraがサポートしたJavaのバージョンは、Java8またはJava11でした。
したがって、最初に同じものをインストールしましょう:
sudo dnf install java-11-openjdk
3。 Cassandraリポジトリを追加するRocky| Almalinux 8
インストールするパッケージは、RockyLinuxまたはAlmaLinux8のデフォルトのリポジトリベースを使用してインストールすることはできません。したがって、手動で追加する必要があります。リポジトリを使用してCassandraをインストールする利点は、system updateコマンドを実行することで、データベースの将来の更新を簡単に取得できることです。最新版は公式サイトで確認できます 。
sudo dnf install nano -y
リポジトリファイルを作成します:
sudo nano /etc/yum.repos.d/cassandra.repo
注 :記事を書いている間の最新のメジャーバージョンは 4.0 でした 対応するディストリビューション名は40xです(接尾辞として「x」が付いています)。古いリリースでは、C * 3.11シリーズに311x、{30_version}に30x、{22_version}に22x、{21_version}に21xを使用します。たとえば、バージョン4.0(40x)のリポジトリを追加するには:
コピー-次の行を貼り付けます:
[cassandra] name=Apache Cassandra baseurl=https://downloads.apache.org/cassandra/redhat/40x/ gpgcheck=1 repo_gpgcheck=1 gpgkey=https://downloads.apache.org/cassandra/KEYS
保存 Ctrl + Oを使用したファイル 、 Enterを押します キーを押してから、 Ctrl + Xで終了します 。
updateコマンドを実行して、リポジトリキャッシュを更新します。
sudo dnf update -y
4。 Almalinuxに最新のApacheCassandraをインストールする|ロッキー8
リポジトリが追加されると、DNFパッケージマネージャーを使用して、最新バージョンのApacheCassandraをRockyLinux8またはAlmaLinux8に簡単にインストールできます。
sudo dnf install cassandra -y
5。 Cassandraサービスを開始して有効にする
インストールはすでに正常に完了しています。このNoSQLデータベースのサービスを開始する必要があります。システムの起動時に自動的に開始する場合、またはクラッシュした場合は、サービスを有効にすることを忘れないでください。
sudo service cassandra start
sudo systemctl enable cassandra
サービスが正常に有効になっていることを確認するには、次を実行します:
sudo systemctl is-enabled cassandra.service
現在のステータスを確認するには:
sudo systemctl status cassandra
6。 Cassandraが実行されていることを確認します
データベースが実行され、127.0.0.1:7199
で正しく機能していることを確認します 、指定されたコマンドを実行します:
nodetool status
スクリーンショットに示されている出力が表示されます。
7。主要な構成ファイル
ApacheCassandraデータが保存されているディレクトリ-/var/lib/cassandra
一方、構成ファイルは/etc/cassandra
にあります およびJavaの起動 オプションは/etc/default/cassandra
で設定できます ファイル。
デフォルトでは、データベースはlocalhostのみをリッスンできますが、クライアントを使用してCassandraをリモートで接続する場合は、編集して同じものを構成する必要があります。
sudo nano /etc/cassandra/default.conf/cassandra.yaml
8。 Cassandraクエリ言語
cqlsh
というコマンドラインツールを使用します ターミナルを使用してクエリを実行するためのCassandraパッケージが付属しています。これを使用するには、システムに少なくともpython2パッケージがインストールされている必要があります。
システムにPythonがない場合は、次を実行します:
sudo dnf install python2
CQLシェルを取得するには、次を実行します:
cqlsh
9。クラスタ名を変更する
クラスタ名を更新するには、上記のコマンドを使用してCQLシェルに切り替えてから、次のコマンドを実行します。
UPDATE system.local SET cluster_name = 'H2s Cluster' WHERE KEY = 'local';
次に、シェルを終了します:
exit;
その後、YAML構成ファイルを編集します:
sudo nano /etc/cassandra/default.conf/cassandra.yaml
テストクラスターを交換してください クラスターに設定した名前で。
その後、キャッシュをフラッシュして、Cassandraサービスを再起動します。
nodetool flush system
sudo systemctl restart cassandra
クラスター名が更新されたことを確認するには:
cqlsh
DESC CLUSTER
GUIを使用してCassandraを管理するには、このGitHubプロジェクトを参照してください
10。ユーザー認証を有効にする
現在の構成ファイルをバックアップして、問題が発生した場合に元のファイルを復元できるようにします。
sudo cp /etc/cassandra/conf/cassandra.yaml /etc/cassandra/conf/cassandra.yaml.backup
ymlファイルの編集:
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
Ctrl + Oを使用して編集が完了したファイルを保存します 、 Enterを押します キーを押してから、 Ctlr + X 。
たとえば、スクリーンショットを参照してください :
Cassandraサービスを再開します:
sudo systemctl restart cassandra
11。データベースの管理者ユーザーを追加する
デフォルトのユーザーとパスワードを好きなように変更します:
cqlsh -u cassandra -p cassandra
CREATE ROLE myusername WITH PASSWORD = 'mypassword' AND SUPERUSER = true AND LOGIN = true;
注 :置換- myusername およびmypassword 設定したいものは何でも。
カサンドラのコマンドシェルを終了します:
exit;
次に、新しいユーザーとパスワードを使用して再度ログインします。
新しく作成したユーザーでログインした後、デフォルトのCassandraユーザーのスーパーユーザーまたは管理者権限を無効にします。
ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;
ユーザーにすべての権限を付与する:
GRANT ALL PERMISSIONS ON ALL KEYSPACES TO 'myusername';
exit;
認証および管理ユーザーが作成されたら、ログインしてユーザーCassandraコマンドシェルを使用するために常にそれが必要です。ユーザー認証がない場合、次の出力が得られます:
接続エラー:(「サーバーに接続できません」、{「127.0.0.1:9042」:AuthenticationFailed(「リモートエンドには認証が必要です」)})
12。 AlamLinuxまたはRockyLinuxでCassandraを更新する方法
リポジトリを追加してこのNoSQLデータベースをインストールしたため、system update and upgradeコマンドを実行すると、最新バージョンの更新も取得してインストールされます。
sudo dnf update && sudo dnf upgrade
13。アンインストールまたは削除
これはオプションの手順であり、システムからCassandraを削除する場合に使用します。
sudo dnf remove cassandra
リポジトリを削除
sudo rm /etc/yum.repos.d/cassandra.repo