Cassandra クライアントサンプル

プロジェクトサイト

The Apache Cassandra Project

インストール

ダウンロードしたアーカイブを展開するだけ

$ tar zxvf /tmp/apache-cassandra-2.0.3-bin.tar.gz -C /opt/java
$ cd /opt/java
$ ln -s apache-cassandra-2.0.3 cassandra

設定変更

設定が示すディレクトを実在するディレクトリに変更. もしくは作る. 以下変更点.

$ mkdir -p /opt/var/lib/cassandra/data
$ mkdir -p /opt/var/log/cassandra

strage config (cassandra/conf/cassandra.yaml)

data_file_directories:
    - /opt/var/lib/cassandra/data
commitlog_directory: /opt/var/lib/cassandra/commitlog
saved_caches_directory: /opt/var/lib/cassandra/saved_caches

ログ (cディレクトリをassandra/conf/log4j-server.properties)

log4j.appender.R.File=/opt/var/log/cassandra/system.log

Cassandra 起動

ExceptionがでなければOK. -f はフォアグランド実行.

$ cassandra/bin/cassandra -f

キースペース、カラムファミリ作成

$ cassandra/bin/cassandra-cli
[default@unknown] create keyspace Demo;
335326fb-86bf-3ad5-a307-ecea506c59b4
[default@unknown] use Demo;
Authenticated to keyspace: Demo
[default@Demo] create column family User with comparator = UTF8Type;
e5913054-6888-317f-8804-215bb708e32a

停止は Ctrl+C でOK.

デモクライアント作成

cassandra_example

実行結果

:compileJava
:processResources UP-TO-DATE
:classes
:run
column name: name
column value: Duke
column timestamp: Sat Dec 21 07:15:44 JST 2013
age -> 18
name -> Duke

BUILD SUCCESSFUL

Total time: 6.929 secs

コンソールから確認

nameが文字列に見えてないけど CassandraCli のように validation_class をつけるとちゃんと確認できる.

[default@Demo] get User[utf8('1')];
=> (name=age, value=18, timestamp=1387577744443)
=> (name=name, value=44756b65, timestamp=1387577744443)
Returned 2 results.
Elapsed time: 6.7 msec(s).