さくらVPSにCassandraをインストールする

            <img src="http://blog.tnnsst35.me/wp-content/uploads/2011/10/cassandra_logo.png" alt="" width="300" height="90"  />

http://cassandra.apache.org/

会社のイベント(?)的なのでCassandraを試したかったので、さくらVPSにインストールしてみた。 ちなみに、CassandraはJavaランタイム上で動くらしいのでJavaの環境は別途作ってください。 LinuxにJDKをインストールする

まずは apache-cassandra を入手します。 僕の作業時点では apache-cassandra-0.8.7 が最新だったので、これを入手します。 あとは付属の説明の通りにやるだけです。

実行環境 : さくらのVPS 512(CentOS 5.5 x86_64)

[bash]

root権限で作業する

su - wget http://ftp.jaist.ac.jp/pub/apache//cassandra/0.8.7/apache-cassandra-0.8.7-bin.tar.gz tar xzvf apache-cassandra-0.8.7-bin.tar.gz cd apache-cassandra-0.8.7/

↓はapache-cassandra-0.8.7/README.txtに書いてあります

sudo mkdir -p /var/log/cassandra sudo chown -R whoami /var/log/cassandra sudo mkdir -p /var/lib/cassandra sudo chown -R whoami /var/lib/cassandra bin/cassandra -f

Listening for thrift clients... というのでかなり待たされ Ctrl + Z で中断したら動いていた。よくわからない。

さっそく繋いでみる

bin/cassandra-cli --host localhost

keyspace (MySQLのデータベースみたいなもの) をつくる

[default@unknown] create keyspace Keyspace1; [default@unknown] use Keyspace1;

column family (MySQLのテーブルみたいなもの) をつくる

[default@Keyspace1] create column family Users with comparator=UTF8Type and default_validation_class=UTF8Type and key_validation_class=UTF8Type;

set テーブル名[主キー][カラム] = 値; 的な感じだと思う

[default@KS1] set Users[jsmith][first] = 'John'; Value inserted. [default@KS1] set Users[jsmith][last] = 'Smith'; Value inserted. [default@KS1] set Users[jsmith][age] = long(42); Value inserted.

get テーブル名[主キー]; でSELECTする

[default@KS1] get Users[jsmith]; => (column=last, value=Smith, timestamp=1287604215498000) => (column=first, value=John, timestamp=1287604214111000) => (column=age, value=42, timestamp=1287604216661000) Returned 3 results.

終了

[default@KS1] quit; [/bash]

とりあえず動いたっぽい。 ただ現状だと、/root/apache-cassandra-0.8.7/ にあって気持ち悪いので移動しておく。

[bash] mv apache-cassandra-0.8.7 /usr/apache-cassandra [/bash]

そうしたらパスを通しておく。

[bash] CASSANDRA_HOME=/usr/apache-cassandra PATH=$PATH:$CASSANDRA_HOME/bin [/bash]

Cassandraの設定ファイルは /usr/apache-cassandra/conf/cassandra.yaml にあるのでさらっと見ておくと良いかもしれない。 例えば僕の環境だと、

[bash]

データの場所

data_file_directories: - /var/lib/cassandra/data

コミットログの場所

commitlog_directory: /var/lib/cassandra/commitlog [/bash]

とかとかみれる。 次はPHPから接続してみる予定。