Apache Cassandraは、オープンソースの分散型、高性能、非常にスケーラブルでフォールトトレラントなポストリレーショナルデータベースソリューションです。オンライン/トランザクションアプリケーションのリアルタイムデータストアとしても、ビジネスインテリジェンスシステムの読み取り中心のデータベースとしても機能します。
リレーショナルDBとCassandra
リレーショナルデータベースシステムは、適度な受信データ速度を処理し、1つまたはいくつかの場所からデータをフェッチします。主に構造化されたデータを管理し、フェイルオーバーを伴う単一障害点を伴う複雑な/ネストされたトランザクションをサポートします。
Cassandraは、多くの場所からデータをフェッチすることにより、高い着信データ速度を処理します。すべてのデータタイプを管理し、単一障害点のない単純なトランザクションをサポートします。一定の稼働時間を提供します。さらに、読み取り/書き込みのスケーラビリティを提供します。
この記事では、Apache Cassandraをインストールし、Ubuntu16.04サーバーでシングルノードクラスターを実行する方法に関するガイドラインを提供します。
前提条件
- 実行するにはJavaプラットフォームが必要です
- このアプリケーションを実行するユーザー
Javaのインストール
Cassandraでは、サーバーでJavaアプリケーションを実行する必要があります。最新のJavaバージョンがインストールされていることを確認してください。 APTリポジトリパッケージを更新してJavaをインストールできます。 Cassandra 3以降では、Java8以降のバージョンがインストールされている必要があります。
root@ubuntu:~# apt-get update
root@ubuntu:~# apt-get install default-jdk
Setting up default-jdk (2:1.8-56ubuntu2) ...
Setting up gconf-service-backend (3.2.6-3ubuntu6) ...
Setting up gconf2 (3.2.6-3ubuntu6) ...
Setting up libgnomevfs2-common (1:2.24.4-6.1ubuntu1) ...
Setting up libgnomevfs2-0:amd64 (1:2.24.4-6.1ubuntu1) ...
Setting up libgnome2-common (2.32.1-5ubuntu1) ...
Setting up libgnome-2-0:amd64 (2.32.1-5ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu4) ...
Processing triggers for ca-certificates (20160104ubuntu1) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
done.
インストールされているJavaのバージョンを確認できます。
root@ubuntu:~# java -version
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~16.04.1-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
Cassandraを実行するユーザーの作成
このアプリケーションは、rootではなくユーザーとして実行することを常にお勧めします。そのため、このアプリケーションを実行するためにCassandraユーザーを作成しました。
root@ubuntu:~# groupadd cassandra
root@ubuntu:~# useradd -d /home/cassandra -s /bin/bash -m -g cassandra cassandra
root@ubuntu:~# grep cassandra /etc/passwd
cassandra:x:1000:1000::/home/cassandra:/bin/bash
Cassandraをダウンロードしてインストールする
これで、ここから最新のApache Cassandraをダウンロードして、お好みのディレクトリにコピーできます。このtarファイルを/tmpフォルダーにダウンロードし、その内容をcassandraの「ホーム」に抽出しました。
root@ubuntu:/tmp# wget http://mirror.cc.columbia.edu/pub/software/apache/cassandra/3.6/apache-cassandra-3.6-bin.tar.gz
--2016-06-12 08:36:47-- http://mirror.cc.columbia.edu/pub/software/apache/cassandra/3.6/apache-cassandra-3.6-bin.tar.gz
Resolving mirror.cc.columbia.edu (mirror.cc.columbia.edu)... 128.59.59.71
Connecting to mirror.cc.columbia.edu (mirror.cc.columbia.edu)|128.59.59.71|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 35552323 (34M) [application/x-gzip]
Saving to: ‘apache-cassandra-3.6-bin.tar.gz’
apache-cassandra-3.6-bin.tar.gz 100%[===================================================================>] 33.91M 6.43MB/s in 12s
2016-06-12 08:37:01 (2.93 MB/s) - ‘apache-cassandra-3.6-bin.tar.gz’ saved [35552323/35552323]
root@ubuntu:/tmp# tar -xvf apache-cassandra-3.6-bin.tar.gz -C /home/cassandra --strip-components=1
所有権の修正と変数の設定
ファイルの所有権を修正し、適切な環境変数を設定して、このアプリケーションをスムーズに実行できます。
root@ubuntu:/home/cassandra# export CASSANDRA_HOME=/home/cassandra
root@ubuntu:/home/cassandra# export PATH=$PATH:$CASSANDRA_HOME/bin
root@ubuntu:/home/cassandra# chown -R cassandra.cassandra .
これで、cassandraユーザーに切り替えて、次のようにこのアプリケーションを実行できます。
cassandra@ubuntu:~$ sh bin/cassandra
INFO 09:10:39 Cassandra version: 3.6
INFO 09:10:39 Thrift API version: 20.1.0
INFO 09:10:39 CQL supported versions: 3.4.2 (default: 3.4.2)
INFO 09:10:39 Initializing index summary manager with a memory pool size of 24 MB and a resize interval of 60 minutes
INFO 09:10:39 Starting Messaging Service on localhost/127.0.0.1:7000 (lo)
INFO 09:10:39 Loading persisted ring state
INFO 09:10:39 Starting up server gossip
INFO 09:10:39 Updating topology for localhost/127.0.0.1
INFO 09:10:39 Updating topology for localhost/127.0.0.1
INFO 09:10:39 Node localhost/127.0.0.1 state jump to NORMAL
この出力は、Cassandraサーバーが正常に稼働していることを意味します。これで、このコマンドでクラスターのステータスを確認できます。
root@ubuntu:/home/cassandra# 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 142.65 KiB 256 100.0% fc76be14-acde-47d4-a4a2-5d015804bb3c rack1
The status and state notation UN means it is up and normal.
これで、シングルノードのCassandraクラスターのインストールが完了しました。これで、クラスターに接続する方法を確認できます。
クラスターへの接続
このシェルスクリプト「cqlsh」を実行できます 「クラスターノードに接続します。
これらは、Cassandraで使用されるさまざまなCQLコマンドです。これを使用する方法の詳細については、こちらをご覧ください。
なんてこった!これで、Ubuntu16.04サーバーのシングルノードCassandraクラスターが完成しました。これを読んで楽しんでいただけたでしょうか。これに関する貴重なコメントや提案をお勧めします。
ありがとうございます!