前回はCassandraとは何かを簡単に説明しました。第2回では,
Cassandraをインストールしよう
環境を確認する
まずは環境の確認をしましょう。筆者の環境は以下のようになっています。
- Windows 7 Professional
- Sun JDK 1.
6.0_ 18 64bit - Eclipse 3.
5.1
この連載ではおもにWindowsでの環境を想定しています。ただ,
Cassandraをダウンロードする
本連載では現時点での最新版Cassandraha 0.
- The Apache Cassandra Project
- URL:http://
cassandra. apache. org/ download/
上記ページから,
C:¥cassandra¥apache-cassandra-0.6.1
に展開しました。
Cassandraのディレクトリ構造
Cassandraを展開すると以下のようなディレクトリ構造になっています。
今回は,
JAVA_ HOMEを設定する
Cassandraだけに限った話ではありませんが,
C:¥>echo %JAVA_HOME% C:¥personal¥application¥jdk¥jdk1.6.0_18
CASSANDRA_ HOMEを設定する
Cassandraを動かすためには,
表1 Cassandraの基本設定項目
項目名 | 説明 | デフォルト値 |
---|---|---|
CASSANDRA_ | Cassandraのインストール場所 | 現在のディレクトリ |
CASSANDRA_ | Cassandraの設定ファイルの配置場所 | %CASSANDRA_ |
CASSANDRA_ | Cassandraの起動に使うコード | org. thrift. |
その他の設定項目はデフォルト値があるのでこのままでも動きます。しかし余計な間違いを避けるために,
Windowsでは図2のように設定します。
データとコミットログの出力先を設定する
次に,
データとコミットログの出力先は,
Cassandraの設定ファイルは,
%CASSANDRA_HOME%¥conf
storage-conf.
具体的には
<CommitLogDirectory>/var/lib/cassandra/commitlog</CommitLogDirectory>
<DataFileDirectories>
<DataFileDirectory>/var/lib/cassandra/data</DataFileDirectory>
</DataFileDirectories>
の部分を,
<CommitLogDirectory>C:¥cassandra¥commitlog</CommitLogDirectory>
<DataFileDirectories>
<DataFileDirectory>C:¥cassandra¥data</DataFileDirectory>
</DataFileDirectories>
storage-conf.
システムのログ出力先を変更する
次にシステムのログ出力先を変更します。
Cassandraはlog4jを使っているので,
%CASSANDRA_HOME%¥conf¥log4j.properties
変更するのはログの出力先だけなので,
# Edit the next line to point to your logs directory
log4j.appender.R.File=C:¥¥cassandra¥¥log¥¥system.log
Cassandraは全部で3つのポートを使います
表2 Cassandraの使用するポート
項目名 | ポート番号 | |
---|---|---|
① | ThriftでのRPCポート | 9160 |
② | JMXでの接続ポート | 8080 |
③ | 複数Cassandraノードのコミュニケーションポート | 7000 |
このうち,
- クライアントからの処理要求を受け付けるポート
(9160番, 表2の①) - Cassandraノードの内部情報を取得するために接続するJMXのポート
(8080, 表2の②)
どのポートも固定なわけではなく,
batファイルを修正する
最後に起動batファイルを少し修正します。
Cassandraにはcassandra.
変更するのはcassandra.
set JAVA_OPTS=^
-ea^
-Xdebug^
-Xrunjdwp:transport=dt_socket,server=y,address=8888,suspend=n^
-Xms128m^
-Xmx1G^
-XX:TargetSurvivorRatio=90^
-XX:+AggressiveOpts^
-XX:+UseParNewGC^
-XX:+UseConcMarkSweepGC^
-XX:+CMSParallelRemarkEnabled^
-XX:+HeapDumpOnOutOfMemoryError^
-XX:SurvivorRatio=128^
-XX:MaxTenuringThreshold=0^
-Dcom.sun.management.jmxremote.port=8080^
-Dcom.sun.management.jmxremote.ssl=false^
-Dcom.sun.management.jmxremote.authenticate=false