Cassandraのインストールから基本設定まで
DataStax社のインストールバイナリDataStax Community Edition 1.2を使用してインストール手順を紹介します。DataStax社は、Cassandraコミュニティを中心的な立場で牽引しており、有償のサポートやプロダクト提供を手掛けています。DataStax Community Editionは、無償で入手でき技術的にも安心して利用できます。
インストール
まず、シングルノード構成を構築するためのインストール手順を紹介します。この手順は、後の複数ノード構成を構築する基本です。そのため、ステップを細かく分けて詳しく説明します。
インストール環境
以下の環境に対して、Cassandra 1.2をインストールします。後述する複数ノード構成も同様の構成です。
ハードウェア | X86_64 |
---|---|
メモリ | 2G |
ディスク | 8G |
IPアドレス | localhost(192.168.111.32) |
OS | CentOS 6.4 |
ユーザ | root |
ダウンロード
インストールを行うためのバイナリファイルを入手します。この手順では、2つのファイルを事前に入手します。1つは、Cassandraのベース実行環境であるJRE1.7です。日本Oracle社のWebサイトから無償で入手可能です。rpm形式を使用します。
2つ目は、Cassandra 1.2です。DataStax社のWebサイトから無償で入手可能です。Tar形式を使用します。
内容 | ファイル名 | 取得サイト |
---|---|---|
Java JRE 1.7(Sun) |
jre-7u45-linux-x64.rpm | 日本Oracle Webサイト |
JNA | yamでインストール | |
Cassandra DataStax Community Edition 1.2 |
dsc-cassandra-1.2.11-bin.tar.gz | DataStax Webサイト |
mkdirコマンドで/usr/local/cassandraディレクトリを作成して、このディレクトリに上記2つのファイルを配置します。cdコマンドで、カレントディレクトを変更します。さらにダウンロードした2つのインストールファイルを配置します。
mkdir /usr/local/cassandra cd /usr/local/cassandra
Java環境の変更
Cassandraが稼働するベース環境であるJava環境を整えます。CentOS 6.4には、Java 1.7が導入済みです。実装状況を確認します。
[root@localhost cassandra]# which java /usr/bin/java [root@localhost cassandra]# java -version java version "1.7.0_09-icedtea" OpenJDK Runtime Environment (rhel-2.3.4.1.el6_3-x86_64) OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)
Javaにはさまざまな種類があります。CentOS 6.4には、OpenJDK1.7.0が導入されていますが、DataStax Community Editionでは、Oracle Java SE Runtime Environmentを推奨しています。そのため、日本Oracle Webサイトから最新のJRE 1.7.0_45を入手して標準に設定します。
rpmコマンドでインストールを実行します。
[root@localhost cassandra]# rpm -ivh jre-7u45-linux-x64.rpm
alternativesコマンドで、JRE 1.7.0_45にシンボリックリンクを設定します。
[root@localhost cassandra]# alternatives --install /usr/bin/java java /usr/java/jre1.7.0_45/bin/java 20000
複数のJavaがインストールされている場合、どのJavaを優先するか指定する必要があります。alternativesコマンドで、JRE 1.7.0_45を標準のJavaに設定します。
[root@localhost cassandra]# alternatives --config java 3 プログラムがあり 'java' を提供します。 選択 コマンド ----------------------------------------------- * 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java 2 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java + 3 /usr/java/jre1.7.0_45/bin/java
Enterを押して現在の選択[+]を保持するか、選択番号を入力します(ここでは「3」)。
Java環境を確認します。「Java(TM)SE Runtime Environment」と出力されれば、Oracle Java SE Runtime Environmentに切り替わっています。
[root@localhost cassandra] # java -version java version "1.7.0_45" Java(TM) SE Runtime Environment (build 1.7.0_45-b18) Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
さらにJNAをインストールします。yumコマンドで以下のように実施します。
[root@localhost cassandra] # yum install jna
.bashrcファイルを変更して、環境変数にJAVA_HOMEの設定を追加します。
[root@localhost cassandra] # vi /root/.bashrc export JAVA_HOME = /usr/java/jre1.7.0_45/
ここまでで、Java環境の設定は終了です。
Cassandraインストールと設定
Cassandraのインストールは、非常に簡単です。圧縮ファイルを展開して、データディレクトリとログディレクトリを作成するだけです。
[root@localhost cassandra]# tar xzvf dsc-cassandra-1.2.11-bin.tar.gz [root@localhost cassandra]# mkdir /var/lib/cassandra [root@localhost cassandra]# mkdir /var/log/cassandra
Cassandraには、2つの設定ファイルがあります。一つは、起動時に実行パラメータを決めるcassandra-env.shファイルです。もう一つは、ノードの環境を指定するcassandra.yamlファイルです。
cassandra-env.shファイルは、Javaではおなじみの実行パラメータを決定するなどの起動に関する設定ファイルです。メモリ搭載量が少ない場合には、使用メモリを制限する必要があります。
執筆環境は、実装メモリ2Gです。132行目と133行目にコメントアウトされているMAX_HEAP_SIZEとHEAP_NEWSIZEを以下のように指定する必要があります。
MAX_HEAP_SIZE="1G" HEAP_NEWSIZE="500M"
また、執筆環境ではエラーが出力されたため、193行目のXss設定を180kから288kに変更しました。
JVM_OPTS="$JVM_OPTS -Xss288k"
デフォルトのcassandra.yamlファイルは、シングルサーバ用に設定されています。そのため、変更する必要はありません。
行数 | 設定項目 | デフォルト設定値 | 意味 |
---|---|---|---|
239 | seeds | "127.0.0.1" | seedを参照するノードアドレス |
330 | listen_address | localhost | 自ノードIPアドレス |
336 | rpc_address | localhost | rpcを受け付けるIPアドレス |