序章

Cassandra、またはApache Cassandraは、拡張性の高いオープンソースのNoSQLデータベースシステムであり、マルチノードセットアップで優れたパフォーマンスを実現します。

このチュートリアルでは、Ubuntu14.04でシングルノードクラスターをインストールして実行する方法を学習します。

前提条件

このチュートリアルを完了するには、次のものが必要です。

  • Ubuntu14.04ドロップレット
  • sudo権限を持つroot以外のユーザー( Ubuntu 14.04 を使用した初期サーバーセットアップでは、これをセットアップする方法について説明しています。)

ステップ1—OracleJava仮想マシンのインストール

Cassandraでは、Oracle Java SEランタイム環境(JRE)がインストールされている必要があります。 したがって、このステップでは、それがデフォルトのJREであることをインストールして確認します。

Oracle JREパッケージを使用可能にするには、次のコマンドを使用してパーソナル・パッケージ・アーカイブ(PPA)を追加する必要があります。

  1. sudo add-apt-repository ppa:webupd8team/java

パッケージデータベースを更新します。

  1. sudo apt-get update

次に、OracleJREをインストールします。 この特定のパッケージをインストールすると、インストールされるだけでなく、デフォルトのJREになります。 プロンプトが表示されたら、使用許諾契約に同意します。

  1. sudo apt-get install oracle-java8-set-default

インストール後、デフォルトのJREになっていることを確認します。

  1. java -version

次のような出力が表示されます。

Output
java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

ステップ2—Cassandraをインストールする

公式のApacheSoftwareFoundationリポジトリからのパッケージを使用してCassandraをインストールするので、パッケージをシステムで使用できるようにリポジトリを追加することから始めます。 Cassandra 2.2.2は、この発行時点での最新バージョンであることに注意してください。 22xを最新バージョンに一致するように変更します。 たとえば、Cassandra 2.3が最新バージョンの場合は、23xを使用します。

  1. echo "deb http://www.apache.org/dist/cassandra/debian 22x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list

リポジトリのソースを追加します。

  1. echo "deb-src http://www.apache.org/dist/cassandra/debian 22x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list

パッケージ更新中のパッケージ署名警告を回避するには、パッケージリポジトリに関連付けられたApacheSoftwareFoundationから3つの公開鍵を追加する必要があります。

このコマンドのペアを使用して最初のコマンドを追加します。これは次々に実行する必要があります。

  1. gpg --keyserver pgp.mit.edu --recv-keys F758CE318D77295D
  2. gpg --export --armor F758CE318D77295D | sudo apt-key add -

次に、2番目のキーを追加します。

  1. gpg --keyserver pgp.mit.edu --recv-keys 2B5C1B00
  2. gpg --export --armor 2B5C1B00 | sudo apt-key add -

次に、3番目を追加します。

  1. gpg --keyserver pgp.mit.edu --recv-keys 0353B12C
  2. gpg --export --armor 0353B12C | sudo apt-key add -

パッケージデータベースをもう一度更新します。

  1. sudo apt-get update

最後に、Cassandraをインストールします。

  1. sudo apt-get install cassandra

ステップ3—Cassandraのトラブルシューティングと起動

通常、Cassandraはこの時点で自動的に開始されているはずです。 ただし、バグがあるため、そうではありません。 実行されていないことを確認するには、次のように入力します。

  1. sudo service cassandra status

実行されていない場合は、次の出力が表示されます。

Output
* could not access pidfile for Cassandra

これは、Ubuntu上のCassandraの最新バージョンでよく知られている問題です。 いくつかの修正を試みます。 まず、initスクリプトを編集することから始めます。 変更するパラメーターは、そのスクリプトの60行目にあるため、次のコマンドを使用して開きます。

  1. sudo nano +60 /etc/init.d/cassandra

その行は次のようになります。

/etc/init.d/cassandra
CMD_PATT="cassandra.+CassandraDaemon"

次のように変更します。

/etc/init.d/cassandra
CMD_PATT="cassandra"

ファイルを閉じて保存してから、サーバーを再起動します。

  1. sudo reboot

または:

  1. sudo shutdown -r now

再度ログインすると、Cassandraが実行されているはずです。 確認:

  1. sudo service cassandra status

成功すると、次のように表示されます。

Output
* Cassandra is running

ステップ4—クラスターへの接続

Cassandraを正常に起動できた場合は、クラスターのステータスを確認してください。

  1. sudo nodetool status

出力で、 UN は、 UpおよびN正常であることを意味します。

Output
Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns Host ID Rack UN 127.0.0.1 142.02 KB 256 ? 2053956d-7461-41e6-8dd2-0af59436f736 rack1 Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless

次に、インタラクティブなコマンドラインインターフェイスcqlshを使用して接続します。

  1. cqlsh

あなたはそれが接続するのを見るでしょう:

Output
Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 2.2.2 | CQL spec 3.3.1 | Native protocol v4] Use HELP for help. cqlsh>

exitと入力して、終了します。

  1. exit

結論

おめでとう! これで、Ubuntu14.04で実行されているシングルノードのCassandraクラスターができました。 Cassandraの詳細については、プロジェクトのWebサイトを参照してください。