Ubuntu14.04でCassandraをインストールしてシングルノードクラスターを実行する方法
序章
Cassandra、またはApache Cassandraは、拡張性の高いオープンソースのNoSQLデータベースシステムであり、マルチノードセットアップで優れたパフォーマンスを実現します。
このチュートリアルでは、Ubuntu14.04でシングルノードクラスターをインストールして実行する方法を学習します。
前提条件
このチュートリアルを完了するには、次のものが必要です。
- Ubuntu14.04ドロップレット
- sudo権限を持つroot以外のユーザー( Ubuntu 14.04 を使用した初期サーバーセットアップでは、これをセットアップする方法について説明しています。)
ステップ1—OracleJava仮想マシンのインストール
Cassandraでは、Oracle Java SEランタイム環境(JRE)がインストールされている必要があります。 したがって、このステップでは、それがデフォルトのJREであることをインストールして確認します。
Oracle JREパッケージを使用可能にするには、次のコマンドを使用してパーソナル・パッケージ・アーカイブ(PPA)を追加する必要があります。
- sudo add-apt-repository ppa:webupd8team/java
パッケージデータベースを更新します。
- sudo apt-get update
次に、OracleJREをインストールします。 この特定のパッケージをインストールすると、インストールされるだけでなく、デフォルトのJREになります。 プロンプトが表示されたら、使用許諾契約に同意します。
- sudo apt-get install oracle-java8-set-default
インストール後、デフォルトのJREになっていることを確認します。
- java -version
次のような出力が表示されます。
Outputjava 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
を使用します。
- echo "deb http://www.apache.org/dist/cassandra/debian 22x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
リポジトリのソースを追加します。
- 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つの公開鍵を追加する必要があります。
このコマンドのペアを使用して最初のコマンドを追加します。これは次々に実行する必要があります。
- gpg --keyserver pgp.mit.edu --recv-keys F758CE318D77295D
- gpg --export --armor F758CE318D77295D | sudo apt-key add -
次に、2番目のキーを追加します。
- gpg --keyserver pgp.mit.edu --recv-keys 2B5C1B00
- gpg --export --armor 2B5C1B00 | sudo apt-key add -
次に、3番目を追加します。
- gpg --keyserver pgp.mit.edu --recv-keys 0353B12C
- gpg --export --armor 0353B12C | sudo apt-key add -
パッケージデータベースをもう一度更新します。
- sudo apt-get update
最後に、Cassandraをインストールします。
- sudo apt-get install cassandra
ステップ3—Cassandraのトラブルシューティングと起動
通常、Cassandraはこの時点で自動的に開始されているはずです。 ただし、バグがあるため、そうではありません。 実行されていないことを確認するには、次のように入力します。
- sudo service cassandra status
実行されていない場合は、次の出力が表示されます。
Output* could not access pidfile for Cassandra
これは、Ubuntu上のCassandraの最新バージョンでよく知られている問題です。 いくつかの修正を試みます。 まず、initスクリプトを編集することから始めます。 変更するパラメーターは、そのスクリプトの60行目にあるため、次のコマンドを使用して開きます。
- sudo nano +60 /etc/init.d/cassandra
その行は次のようになります。
/etc/init.d/cassandraCMD_PATT="cassandra.+CassandraDaemon"
次のように変更します。
/etc/init.d/cassandra
CMD_PATT="cassandra"
ファイルを閉じて保存してから、サーバーを再起動します。
- sudo reboot
または:
- sudo shutdown -r now
再度ログインすると、Cassandraが実行されているはずです。 確認:
- sudo service cassandra status
成功すると、次のように表示されます。
Output* Cassandra is running
ステップ4—クラスターへの接続
Cassandraを正常に起動できた場合は、クラスターのステータスを確認してください。
- sudo nodetool status
出力で、 UN は、 UpおよびN正常であることを意味します。
OutputDatacenter: 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
を使用して接続します。
- cqlsh
あなたはそれが接続するのを見るでしょう:
OutputConnected 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
と入力して、終了します。
- exit
結論
おめでとう! これで、Ubuntu14.04で実行されているシングルノードのCassandraクラスターができました。 Cassandraの詳細については、プロジェクトのWebサイトを参照してください。