Cassandraのはじめ方─手を動かしてNoSQLを体感しよう

第2回 Cassandraのインストールから起動まで

この記事を読むのに必要な時間:およそ 4 分

Cassandraを起動して使ってみよう

では,いよいよCassandraを起動してみます。

%CASSANDRA_HOME%¥bin¥cassandra.batをコマンドラインからたたいてみましょう。

以下のような感じの起動ログが出るはずです。

C:¥cassandra¥apache-cassandra-0.6.1>bin¥cassandra.bat
Starting Cassandra Server
Listening for transport dt_socket at address: 8888
 INFO 16:12:38,171 Auto DiskAccessMode determined to be standard
 INFO 16:12:38,625 Saved Token not found. Using 12130970972828844347523289220179262978
 INFO 16:12:38,625 Saved ClusterName not found. Using Test Cluster
 INFO 16:12:38,656 Creating new commitlog segment C:¥cassandra¥commitlog¥CommitLog-1271747558656.log
 INFO 16:12:38,812 Starting up server gossip
 INFO 16:12:39,000 Binding thrift service to localhost/127.0.0.1:9160
 INFO 16:12:39,015 Cassandra starting up...

Cassandraにはコマンドラインツールがついているので,まずはそれで稼動を確認してみましょう。以下のように%CASSANDRA_HOME%¥bin¥cassandra-cli.batを実行すると起動します。

C:¥cassandra¥apache-cassandra-0.6.1>bin¥cassandra-cli.bat
Starting Cassandra Client
Welcome to cassandra CLI.

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

まずは先ほど起動したCassandraサーバに接続しなくてはいけないのでconnectコマンドを打ちます。

cassandra> connect localhost/9160
Connected to: "Test Cluster" on localhost/9160

とりあえずCassandraのデフォルトで用意されているキースペース(※1)の設定情報にアクセスしてみましょう。以下のように出てくるはずです。

※1
キースペースを含むデータモデルについては,次回くわしくご説明します。
cassandra> describe keyspace Keyspace1
Keyspace1.Super1
Column Family Type: Super
Columns Sorted By: org.apache.cassandra.db.marshal.BytesType@66e8c7db

Column Family Type: Super
Column Sorted By: org.apache.cassandra.db.marshal.BytesType
flush period: null minutes

(以下省略)

各キースペースに定義されたデータ構造の情報が取れます。

では簡単なデータをCassandraに入れて,取り出してみましょう。現段階では,Cassandraではデータ構造は4次元または5次元の配列構造になっていると思ってください。なので,以下の形式でデータを入れていきます。

set キースペース.カラムファミリ名[キー名][カラム名]=値

データを取り出すときは,以下の形式で値の集合が取れます。

get キースペース.カラムファミリ名[キー名]

この例では「shot」という行に対して,⁠firstname」⁠lastname」⁠twitter」というカラムに値を設定してデータを挿入し,getでカラムの集合を取り出しています。

cassandra> set Keyspace1.Standard2['shot']['firstname']='Shinpei'
Value inserted.
cassandra> set Keyspace1.Standard2['shot']['lastname']='OHTANI'
Value inserted.
cassandra> set Keyspace1.Standard2['shot']['twitter']='http://twitter.com/shot6'
Value inserted.
cassandra> get Keyspace1.Standard2['shot']
=> (column=twitter, value=http://twitter.com/shot6, timestamp=1271173345860000)
=> (column=lastname, value=OHTANI, timestamp=1271173320777000)
=> (column=firstname, value=Shinpei, timestamp=1271173297104000)
Returned 3 results.

Cassandraを終了する

最後はCassandraを終了させましょう。
CassandraをWindows上から終了するには、Cassandraが動いているコンソールでCtrl+Cを押して停止させます。

ここまででCassandraを動かすところまできました。次回はCassandraのデータモデルについてご説明します。お楽しみに。

著者プロフィール

大谷晋平(おおたにしんぺい)

オープンソースプログラマ。WebフレームワークT2の開発をしながらHadoop/NoSQLミドルウェアにも手を出す。最近ではもっぱらHadoop,Cassandra,Avro,kumofsなどに興味津々。

blog:http://d.hatena.ne.jp/shot6/

Twitter:http://twitter.com/shot6/