分散データベースApache CassandraをMac OS Xにインストール

最近、Cassandaに興味をもって、試しています。

Cassandraとは?

改めて、Cassandraとは、なんでしょうか?

スクリーンショット 2014-03-31 19.04.51

The Apache Cassandra Project

Cassandraは、分散データベースのひとつです。Cassandraの特徴は、スケーラビリティと可用性の高さです。

Cassandraは分散データベースなので、複数のホストが同時に動作することで、ひとつのデータベースを構築します。

ホストを単純に追加するだけで、性能を向上させることができるので、スケーラビリティが高いです。また、複数のホストのうちの一つが停止しても問題なく動作を続けることができる仕組みをもっているため、可用性が高いです。

とりあえずMac OS Xにインストール

分散環境を構築する前に、手元のMacBookにインストールして触ってみようと思います。

Homebrewから簡単にインストールすることができます。

brew install cassandra

Homebrewのインストール完了のメッセージに従って、Cassandraを起動設定に追加しておきます。

ln -sfv /usr/local/opt/cassandra/*.plist ~/Library/LaunchAgents

さらに、今すぐ試したいので、早速起動してみます。

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.cassandra.plist

起動プロセスを確認してみると、Cassandraらしきものが確かに起動されています。

$ ps aux | grep cassandra | grep -v grep
kataoka        32056   0.9  4.1  5031428 342892   ??  S    12:24PM   0:19.46 /usr/bin/java ..().. org.apache.cassandra.service.CassandraDaemon

Cassandraはデフォルトで9160のポートで待つらしいので、おそらくこのLISTENしているポートがCassandraだと思います。

$ netstat -ant | grep 9160 | grep LISTEN
tcp4       0      0  127.0.0.1.9160         *.*                    LISTEN

というわけで、Cassandraが動き出しました!

CQLシェルをインストール

MySQLでは、mysqldというデーモンを起動して、mysqlというシェルコマンドで接続します。

これは、Cassandraでも同様です。今はデーモンだけを起動した状態なので、ここに接続するためのクライアントが必要です。

CQLという言語でCassandraを操作できるクライアントシェルをインストールします。CQLは、Cassandra Query Languageの略です。

CQLシェルは、PyPIからインストールすることができます。PyPIについては以前「Pythonのパッケージ管理システムPyPIのインストール」に書きましたが、Pythonのパッケージ管理システムです。

sudo pip install cql

cqlshコマンドで起動すると、CQLシェルのプロンプトが表示されます。

$ cqlsh 
Connected to Test Cluster at localhost:9160.
[cqlsh 4.1.1 | Cassandra 2.0.6 | CQL spec 3.1.1 | Thrift protocol 19.39.0]
Use HELP for help.
cqlsh>

ここに、CQLを入力することで、Cassandraにデータを保存したり取得したりすることができます。

実際の使い方に続きます。→「Cassandraを操作するCQLの基本を試してみる。

About katty0324

Scroll To Top