さて、「Cassandra(かさんどら)」が2010年2月18日に「Apache Software Foundationトッププロジェクト」として、承認されたよっと。
ちなみにCassandraはFacebookのほか、Rackspace、Digg、Twitterなどで、利用されているようですよー。
・分散データベースの「Cassandra」がApacheのトップレベルプロジェクトに
早速、Apache Cassandra(オープンソースの分散データベース管理システム)をMacOSXに突っ込んでみる。
インストールした環境は、「Mac OSX 10.6.3(Snow Leopard)」。
Cassandraは「Java」で動作するみたいだが、自分のMacOSXにJavaって入ってるっけかな?とまずは確認してみようっと。
$ which java /usr/bin/java $ java -version java version "1.6.0_17" Java(TM) SE Runtime Environment (build 1.6.0_17-b04-248-10M3025) Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01-101, mixed mode) |
ほい。Snow Leopardは「1.6.0_17」らしいね。
ひとまずインストールされているので、次はCassandra。
まずは下記からダウンロード可能。現在(10.04.07)の最新ファイルは「0.5.1」でした。
$ cd /opt/local/src $ curl -O |
次にCassandara用のログディレクトリ・ファイルを作成
# ログディレクトリの設定がデフォルトで、「/var/log/」、各種データディレクトリなどは「/var/lib」となっている。
後ほど展開する「apache-cassandra-0.5.1-bin.tar.gz」の中にある、「conf」ディレクトリに記載されているので、
それに併せて設定しました。
「ログ」は「log4j.properties」、「各種データディレクトリなど」は「storage-conf.xml」となっていた。
ログディレクトリとファイルの作成
$ cd /var/log $ sudo mkdir cassandra $ sudo chown -R ユーザー名:グループ名 cassandra/ $ cd cassandra/ $ touch system.log |
各種データなどのディレクトリを作成
$ cd /var/lib $ sudo mkdir cassandra $ sudo chown -R ユーザー名:グループ名 cassandra/ $ cd cassandra/ |
ファイルを展開
$ /opt/local/cassandra $ cp /opt/local/src/apache-cassandra-0.5.1-bin.tar.gz ./ $ tar zxvf apache-cassandra-0.5.1-bin.tar.gz $ cd apache-cassandra-0.5.1 |
Casandra起動
$ cd /opt/local/cassandra/apache-cassandra-0.5.1/bin $ ./cassandra -f Listening for transport dt_socket at address: 8888 INFO - Saved Token not found. Using 153942045966679935844972374572678363172 INFO - Starting up server gossip INFO - Cassandra starting up... |
起動したよっと。(「-f」オプションはフォアグラウンドで実行)
で、他のコマンドは、「分散データベース管理システムCassandraをDebianで動作させる」を参考
デーモンとして起動は、
$ ./cassandra -p /var/run/cassandra.pid |
デーモン実行を停止は、
$ kill -KILL `cat /var/run/cassandra.pid` |
クライアントツールの起動手順は、
$ ./cassandra-cli --host localhost --port 9160 Exception java.net.ConnectException: Connection refused org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused at org.apache.thrift.transport.TSocket.open(TSocket.java:185) at org.apache.cassandra.cli.CliMain.connect(CliMain.java:65) at org.apache.cassandra.cli.CliMain.main(CliMain.java:151) Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432) at java.net.Socket.connect(Socket.java:525) at java.net.Socket.connect(Socket.java:475) at org.apache.thrift.transport.TSocket.open(TSocket.java:180) ... 2 more Connected to localhost/9160 Welcome to cassandra CLI. Type 'help' or '?' for help. Type 'quit' or 'exit' to quit. cassandra> |
ここまででけたので、次はPythonやらPHPから扱えるようにバインディングとなる「Thrift」をインストールしようっと。