前回はCassandraとは何かを簡単に説明しました。第2回では、Cassandraを実際にインストールして開発環境で動かしてみましょう。
Cassandraをインストールしよう
環境を確認する
まずは環境の確認をしましょう。筆者の環境は以下のようになっています。
- Windows 7 Professional
- Sun JDK 1.6.0_18 64bit
- Eclipse 3.5.1
この連載ではおもにWindowsでの環境を想定しています。ただ、CassandraはJavaベースなので、MacやLinuxなど別OSでも同様に動くはずです。
Cassandraをダウンロードする
本連載では現時点での最新版Cassandraha 0.6.1を使います。以下のサイトからダウンロードできます。
- The Apache Cassandra Project
- URL:http://cassandra.apache.org/download/
上記ページから、apache-cassandra-0.6.1-bin.tar.gzをダウンロード・解凍してください。そして、適切なフォルダに展開してください。筆者は
C:¥cassandra¥apache-cassandra-0.6.1
に展開しました。
Cassandraのディレクトリ構造
Cassandraを展開すると以下のようなディレクトリ構造になっています。
今回は、この中のbinとconfの下をおもに見ていきます。
JAVA_HOMEを設定する
Cassandraだけに限った話ではありませんが、JAVA_HOMEを正しく設定しておいてください。筆者は以下のようになっています。
CASSANDRA_HOMEを設定する
Cassandraを動かすためには、表1にある項目を設定する必要があります。
表1 Cassandraの基本設定項目
項目名 | 説明 | デフォルト値 |
CASSANDRA_HOME | Cassandraのインストール場所 | 現在のディレクトリ |
CASSANDRA_CONF | Cassandraの設定ファイルの配置場所 | %CASSANDRA_HOME%¥conf |
CASSANDRA_MAIN | Cassandraの起動に使うコード | org.apache.cassandra. thrift.CassandraDaemon |
その他の設定項目はデフォルト値があるのでこのままでも動きます。しかし余計な間違いを避けるために、CASSANDRA_HOMEは設定しておきましょう。
Windowsでは図2のように設定します。
データとコミットログの出力先を設定する
次に、実際にCassandraを動かした際のデータとコミットログの出力先を設定します。データやコミットログを含む仕組みについては後ほどご説明します。
データとコミットログの出力先は、Cassandraの設定ファイルであるstorage-conf.xmlで設定します。なお、圧縮ファイルを展開しただけだと、すべての設定ファイルがリードオンリーになっているので、別途解除してください。
Cassandraの設定ファイルは、デフォルトでは以下に置くことになっています。
storage-conf.xmlにはいろいろ記述されていますが、今回修正するのは2点だけです。
具体的には
の部分を、以下のようにします。
storage-conf.xmlについては今後詳細にご説明する予定ですが、開発用に起動するだけならstorage-conf.xmlの設定はこれだけです。
システムのログ出力先を変更する
次にシステムのログ出力先を変更します。
Cassandraはlog4jを使っているので、以下を変更します。
変更するのはログの出力先だけなので、以下のようにしておきましょう。
Cassandraは全部で3つのポートを使います(表2を参照)。
表2 Cassandraの使用するポート
| 項目名 | ポート番号 |
① | ThriftでのRPCポート | 9160 |
② | JMXでの接続ポート | 8080 |
③ | 複数Cassandraノードのコミュニケーションポート | 7000 |
このうち、次の2つはクライアント側とのコミュニケーションに使用します。
- クライアントからの処理要求を受け付けるポート(9160番、表2の①)
- Cassandraノードの内部情報を取得するために接続するJMXのポート(8080、表2の②)
どのポートも固定なわけではなく、設定や起動ファイルの修正で変更可能です。
batファイルを修正する
最後に起動batファイルを少し修正します。
Cassandraにはcassandra.batファイルが最初からついているので、これでCassandraを起動できます。しかし、CassandraのbatファイルはJMXを8080ポートで指定しているため、Tomcatなどのデフォルトポートとかぶってしまいます。そのため、これを適切なポートに変えておきます。
変更するのはcassandra.batの以下の部分です。筆者は9081にしました。
Cassandraを起動して使ってみよう
では、いよいよCassandraを起動してみます。
%CASSANDRA_HOME%¥bin¥cassandra.batをコマンドラインからたたいてみましょう。
以下のような感じの起動ログが出るはずです。
Cassandraにはコマンドラインツールがついているので、まずはそれで稼動を確認してみましょう。以下のように%CASSANDRA_HOME%¥bin¥cassandra-cli.batを実行すると起動します。
まずは先ほど起動したCassandraサーバに接続しなくてはいけないのでconnectコマンドを打ちます。
とりあえずCassandraのデフォルトで用意されているキースペース(※1)の設定情報にアクセスしてみましょう。以下のように出てくるはずです。
各キースペースに定義されたデータ構造の情報が取れます。
では簡単なデータをCassandraに入れて、取り出してみましょう。現段階では、Cassandraではデータ構造は4次元または5次元の配列構造になっていると思ってください。なので、以下の形式でデータを入れていきます。
データを取り出すときは、以下の形式で値の集合が取れます。
この例では「shot」という行に対して、「firstname」「lastname」「twitter」というカラムに値を設定してデータを挿入し、getでカラムの集合を取り出しています。
Cassandraを終了する
最後はCassandraを終了させましょう。
CassandraをWindows上から終了するには、Cassandraが動いているコンソールでCtrl+Cを押して停止させます。
ここまででCassandraを動かすところまできました。次回はCassandraのデータモデルについてご説明します。お楽しみに。