<img src="http://blog.tnnsst35.me/wp-content/uploads/2011/10/cassandra_logo.png" alt="" width="300" height="90" />
会社のイベント(?)的なので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から接続してみる予定。