cassandraで遊んで盛大につまづいた

cassandraを入れる前に

  • 準備
    • javaのinstall
      • 面倒なのでyumでinstall
  • 確認
#java -version
java version "1.6.0_0" OpenJDK Runtime Environment (build 1.6.0_0-b11)
OpenJDK Client VM (build 1.6.0_0-b11, mixed mode, sharing)

おk。

cassandraげっとn&準備

http://cassandra.apache.org/
から、取得(0.6.2が最新)。

wget http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.6.2/apache-cassandra-0.6.2-bin.tar.gz
tar zxvf apache-cassandra-0.6.2-bin.tar.gz
cd apache-cassandra-0.6.2-bin

mkdir -p /var/log/cassandra
mkdir -p /var/lib/cassandra

で上記ディレクトリにログとデータを保存する。

cassandra起動

上記のapache-cassandraにいるつもりで

bin/cassandra -f

起動!!

と、環境に問題のない場合はすんなり立ち上がると思います。

cassandra確認

cassandraが立ち上がってる状態で

bin/cassandra-cli --host hoge --port fuga

で、cassandra-cliに接続できる。
helpみながら set, get で遊べる(楽しい)。

foregroundで動いてるcassandraを再起動しても保存されてるのに感動。
データは以下のディレクトリに保存

cassandraデータ

/var/lib/cassandra/ディレクトリ内にデータが。

/var/lib/cassandra/
  commitlog/
    log溜め
  data/
    system/     # cassandraのほうで使うので指定できない
    [Keyspace]/ # storage-conf.xml 内で指定された<Keyspace>のディレクトリ
                # columnFamilyも

まだまだわからないことだらけなので、これからもう少し触っていこうと思います(゚∀゚)

動かなかった

ServersManでVPSサービスを利用しているので本当はcassandraをこちらに入れたかった。。。
が、javaを入れてもcassandraを入れてもエラーエラーエラー。。。orz

# bin/cassandra -f
Can't start up: not enough memory

ServersMan(HDD:10GB, mem:256MB)…orz
http://wiki.apache.org/cassandra/CassandraHardware
にて、cassandra推奨スペック確認。

In other words, the more memory, the better, with 1GB being the minimum we typically recommended in a virtualized environment.

読み間違えでなければ1GB
bin/cassandra内での実行オプションをechoしたり、psして見る。

#ps aux| grep cassandra
   ... /usr/bin/java -ea -Xms256M -Xmx1G ...

Xmx1Gか…ServersManではもう諦めた。
いい方法があればご教授下さいorz