GNU/Linux >> Linux の 問題 >  >> Cent OS

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

1。はじめに

カサンドラ は、幅広い列ストアとNoSQLデータベースを備えたオープンソースの分散データベース管理システムであり、単一障害点なしで多くの商用サーバーにまたがる大量のデータを処理できます。これはApacheSoftwareFoundationによって作成され、Javaで記述されています。この記事では、CentOS7LinuxにCassandraをインストールするためのステップバイステップのプロセスを実行します。

2。前提条件

以下に示すすべてのコマンドは、 rootとして実行する必要があります またはsudo ユーザー。

2.1。 Python2.7をインストールする

CentOS 7では、Python2.7がプリインストールされています。何らかの理由で見つからない場合は、次のコマンドを使用してインストールできます。

# yum -y install python
# python --version
Python 2.7.5

2.2。 Javaをインストールする

以下のコマンドを使用して、最新バージョンのJava 8をインストールし、インストールを確認します。

# yum install java-1.8.0-openjdk-devel
# 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)

3。 Cassandraのインストール方法

まず、Cassandraリポジトリを追加しましょう。これを行うには、cassandra.repoという名前のファイルを作成します /etc/yum.repos.d/の下 ディレクトリ:

# vi /etc/yum.repos.d/cassandra.repo

その中に次の行を追加します:

[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

ESCを押します キーを押して:wqと入力します ファイルを保存して閉じます。

Cassandraリポジトリが追加されているかどうかを確認します。以下のコマンドは、インストールされ有効になっているリポジトリを確認します:

# yum repolist

リポジトリを追加したら、次のコマンドを実行してCassandraをCentOSシステムにインストールします。

# yum -y install cassandra

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

# systemctl enable cassandra
cassandra.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig cassandra on
# systemctl start Cassandra

カサンドラのステータスを確認します:

# systemctl status cassandra

以下のコマンドを使用して、クラスターの状態、負荷、IDなどの詳細を取得します。

# 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.08 KiB  16      100.0%            bf2df7a9-54bc-41c9-8c6c-0b9322d10e71  rack1

出力では、

  • 国連 -アップ&ノーマル
  • 住所 -ノードのIPアドレス
  • ロード -snapshotsサブディレクトリ内のすべてのコンテンツを除外した後、Cassandraデータディレクトリの下のファイルシステムデータの量。更新されると90秒ごとになります。
  • トークン -ノードに割り当てられているトークンの数。
  • 所有者 -ノードが所有するデータの量。ノードはリングの33%を所有できますが、レプリケーション係数が3の場合は100%を表示します。
  • ホストID -ホストのネットワークID
  • ラック -それが存在するノードのラック。

4。 Cqlsh –CassandraのCLI

cqlshは、CQLを利用してCassandra(Cassandraクエリ言語)に接続するためのコマンドラインインターフェイスです。これはすべてのCassandraパッケージに含まれており、bin/のcassandra実行可能ファイルと一緒に見つけることができます。 ディレクトリ。 Pythonネイティブプロトコルドライバーは、単一ノードに接続するcqlshを実装するために使用されます。

Cqlshを起動するには、次を実行します:

# 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.
cqlsh>
にHELPを使用します

5。 CQLサンプルコマンド

5.1。キースペースを作成する

Cassandraでは、キースペースは、リレーショナルデータベース管理システム(RDMBS)のデータベースと同様にデータコンテナとして機能します

cqlsh> CREATE KEYSPACE IF NOT EXISTS OsTechNix WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 3 };
cqlsh>

以下のコマンドを使用して、システムのキースペースを確認してください。

cqlsh> SELECT * FROM system_schema.keyspaces;

すべてのキースペースを表示するには、次のコマンドを実行します:

cqlsh> desc keyspaces;

クラスタ上のすべてのキースペースが一覧表示されます:

ostechnix  system_auth         system_schema  system_views
system     system_distributed  system_traces  system_virtual_schema

5.2。テーブルを作成し、サンプルデータを挿入します

CREATE TABLEを使用できます RDBMSで通常行うように、各列のデータ型を定義するステートメント。データは、SQL定義と同様に、列の行を含むCQLテーブルに格納されます。

テーブルを作成するには、「主キー」およびその他のデータフィールドを定義する必要があります。テーブルの作成については、以下の例に従ってください。

cqlsh> CREATE TABLE ostechnix.sample_table ( id UUID PRIMARY KEY, name text, birthday timestamp, nationality text, weight text, height text );
cqlsh>

INSERTを使用します 単純なデータをテーブルostechnix.sample_tableに挿入するステートメント 上で作成します。以下の例では、2つのレコードがテーブルに追加されています。

cqlsh> INSERT INTO ostechnix.sample_table (id, name, nationality) VALUES (5b6962dd-3f90-4c93-8f61-eabfa4a803e2, 'KARTHICK', 'Indian');
cqlsh> INSERT INTO ostechnix.sample_table (id, name, nationality, weight) VALUES (5b6962dd-3f90-4c93-8f61-eabfa4a804e3, 'MOHAN', 'Indian', '85');

5.3。テーブルのクエリ

テーブルから1つ以上の行を返すには、SELECTステートメントを使用します。

cqlsh> SELECT * FROM ostechnix.sample_table;

ここでは、 * テーブルからすべてのデータを返します。

cqlsh> SELECT * FROM ostechnix.sample_table WHERE weight = '85';

出力例:

InvalidRequest: Error from server: code=2200 [Invalid query] message="Cannot execute this query as it might involve data filtering and thus may have unpredictable performance. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING"
cqlsh>

Cassandraは、'whereの主キーのすべての列の値を指定しないクエリを実行しません。 '句、および'ALLOW FILTERING'を使用するように警告する上記のエラーを発行します 。

このエラーの理由は、完全なパーティションキーがWHEREに含まれていない場合、Cassandraは必要な結果を含むノードを識別できないためです。 句。その結果、Cassandraは各ノードのデータセット全体をスキャンして、関連するデータが識別されたことを確認する必要があります。

cqlsh> SELECT * FROM ostechnix.sample_table WHERE weight = '85' ALLOW FILTERING;

6。まとめ

この記事では、Cassandraのインストール手順といくつかのサンプルCQLコマンドについて説明しました。今後の記事で、CassandraOperationについて詳しく説明します。


Cent OS
  1. CentOS7にApacheCassandraをインストールする方法

  2. CentOS8にApacheCassandraNoSQLデータベースをインストールする方法

  3. CentOS8にApacheKafkaをインストールする方法

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

  2. CentOS7にApacheをインストールする方法

  3. CentOS7にApacheMavenをインストールする方法

  1. CentOS7にApacheCassandraをインストールする方法

  2. CentOS8にApacheをインストールする方法

  3. CentOS8にApacheMavenをインストールする方法