Cassandraの運用に際して、Hot Spot的な問題が発生したのをきっかけに、ソースコードレベルから、詳細にCassandraの仕組みを理解したいと思ったので、月一ぐらいで、徐々に書いていこうと思っています。
まずは、テスト的な意味合いも込めて、最初に、テスト環境の設定をします。
環境
- OSX Yosemite, Version 10.10.5
- IntelliJ IDEA 14.1.4 Community Edition
- Java
java version “1.8.0_91”
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode) - Cassandra (cassandra-3.0のブランチ) 用のIntelliJ Idea Projectの作成
https://wiki.apache.org/cassandra/RunningCassandraInIDEA
の指示通りセッティングすれば、問題なく通りました。
ただ、JVMのバージョンなどで、ant generate-eclipse-filesのステップで、通らないことがありました。 - Client側のIntellij Project作成 ( CQL3 )
Scalaを使用しているので、sbtプロジェクトを作成しました。
以下は、Data StaxのDriverを使用するSbt ファイル例
lazy val root = Project( id="cassandra", base=file(".")).
settings(
name := "cassandra",
version := "1.0",
scalaVersion := "2.10.4",
organization := "mmaioe.com",
libraryDependencies ++= Seq(
// DataStax Cassandra Driver
"com.datastax.cassandra" % "cassandra-driver-core" % "3.0.0"
)
)
これで、Cassandra自体のIntellij IDEA Projectと、CassandraのClient側のプロジェクトができたので、CQL Statementのクエリ作成から、クエリの送信、Cassandraでどのように処理されてるかを追える環境ができました。