windowsでCassandra

こんにちはwindows厨です。
Cassandraが熱いということでとりあえずwindowsの開発環境で動かせるところまでのセッティングをメモしておきます

とりあえずCassandraの公式ページから本体をDLしてきます

で、windowsだとフォルダ名にスペースがあるとCassandraがうまく動いてくれないのでC直下などに解凍したファイルを置いておきます

次にパスの設定
環境変数にCASSANDRA_HOMEを追加
変数名:CASSANDRA_HOME
変数値:[Cassandraのディレクトリパス]
でオーケーです
あとはPATHにCASSANDRA_HOME/binのディレクトリを追加しておきます

とりあえずこれで動きます
binにあるcassandra.batが本体で、cassandra-cli.batがクライアントです
コマンドプロンプトでcassandraと入力し

>cassandra
Listening for transport dt_socket at address: 8888
INFO - Sampling index for P:\var\lib\cassandra\data\Keyspace1\Standard1-1-Data.db
INFO - Sampling index for P:\var\lib\cassandra\data\system\LocationInfo-9-Data.db
INFO - Replaying \var\lib\cassandra\commitlog\CommitLog-1270203994984.log
(以下略..

となり起動に成功します(VistaやXP、環境によって表示が違いました)
先述の通りスペースのあるフォルダ(たとえばProgram Files)などの中に本体をおいてしまうとここで変なエラーが出てしまいます

あとJAVA_HOMEを環境変数で設定していなかったりするとClassNotFoundのエラーが出ます
ここで一旦エラーが出てしまうと直した後でもなぜかエラーが出続けてしまうのでwindowsを再起動するかどうにかするとちゃんと起動してくれます

次に別窓(cassandraを起動した方は終了させないで)で新たにコマンドプロンプトを起動してcassandra-cliと入力し

>cassandra-cli
C:\Documents and Settings\admin>cassandra-cli
Welcome to cassandra CLI.

Type 'help' or '?' for help. Type 'quit' or 'exit' to quit.
cassandra>

という感じでclientが起動します

次にshow cluster nameと打ってみましょう

cassandra> show cluster name
Not connected to a cassandra instance.

はい、CassandraのInstanceに接続されていませんというエラーが出ます
このままではどこにも接続していないのでconnectします

デフォルトの設定ではThriftAddressがlocalhostで9160番ポートなので

cassandra> connect localhost/9160
Connected to localhost/9160

となり無事接続できます
次に接続できたことを確認するために cluster name を表示させてみましょう

cassandra> show cluster name
Test Cluster

デフォルトのcluster nameであるTest Clusterが表示されましたね!!

ちなみにCassandraの設定やKeyspace、ColumnFamilyの設定は全部CASSANDRA_HOME/conf/storage-conf.xmlに記述されているのでそっちを確認してみてください。

次のエントリではjavaでCassandraにデータをinsert、getしてみたいと思います。