CassandraをMacOSXにローカルモードでセットアップし、
SparkShellでアクセスするところまでを試したので、メモを残しておきます。

利用したバージョンは以下の通り

  • Mac OS X El Capitan 10.11.2
  • apache-cassandra-3.1.1
  • spark-1.6.0-bin-hadoop2.6

Cassandraの起動

Cassandraのサイトから以下のファイルをダウンロードします。

Apache Cassandra
http://cassandra.apache.org/

対象ファイル名:
apache-cassandra-3.1.1-bin.tar.gz

以下のとおり、~/opt配下に展開します。

$ mkdir ~/opt
$ cd ~/opt
$ tar zxf ~/Downloads/apache-cassandra-3.1.1-bin.tar.gz

以下のようにCASSANDRA_HOMEの環境変数を設定します。

$ export CASSANDRA_HOME=~/opt/apache-cassandra-3.1.1/

Cassandra用の各種ディレクトリを作成します。

$ mkdir -p $CASSANDRA_HOME/data/data
$ mkdir -p $CASSANDRA_HOME/data/commitlog
$ mkdir -p $CASSANDRA_HOME/data/hints
$ mkdir -p $CASSANDRA_HOME/saved_caches

以下のコマンドでcassandraを起動します。

$ $CASSANDRA_HOME/bin/cassandra -f

cqlshで接続確認と確認用テーブルの作成

CASSANDRA_HOME環境変数を設定した状態で以下のコマンドを入力して、cqlshを起動します。

$ $CASSANDRA_HOME/bin/cqlsh

キースペースを作成する。

> create keyspace first_keyspace with replication = {'class':'SimpleStrategy', 'replication_factor':1};

キースペースに入る。

> use first_keyspace;

テーブルを作成する。

> create table first_table (name text PRIMARY KEY, value text);

テーブルにレコードを挿入する。

> insert into first_keyspace.first_table (name, value) values ('hoge', 'fuga');

SparkShellから接続

※SparkShellの使い方はこのあたりを参考にして下さい。 → http://takemikami.com/2015/12/07/MacSparkS3.html

以下のコマンドで、SparkShellを起動します。

$ $SPARK_HOME/bin/spark-shell --packages com.datastax.cassandra:cassandra-driver-core:3.0.0-rc1 --master local

以下のScalaコードで、前項でinsertしたデータを参照します。

> import com.datastax.driver.core.Cluster
> import com.datastax.driver.core.Host
> import com.datastax.driver.core.Metadata
> val cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
> val session = cluster.connect();
> session.execute("use first_keyspace")
> val res = session.execute("select * from first_keyspace.first_table");
> res.all.toArray.foreach(println _)