[ Apache ] Mac OSX(Snow Leopard)へ「Cassandra」をインストール

cassandra
cassandra posted by (C)kishir

さて、「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」をインストールしようっと。

投稿者:

kishir

趣味: sk8, ピスト、ターンテーブル、レコード 仕事: Python, Objective-C, PHP, JavaScript