SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

実用段階に入ったNoSQLをおさらい
「Cassandra」の概要と導入手順・基本設定

  • X ポスト
  • このエントリーをはてなブックマークに追加

Cassandraのインストールから基本設定まで

 DataStax社のインストールバイナリDataStax Community Edition 1.2を使用してインストール手順を紹介します。DataStax社は、Cassandraコミュニティを中心的な立場で牽引しており、有償のサポートやプロダクト提供を手掛けています。DataStax Community Editionは、無償で入手でき技術的にも安心して利用できます。

インストール

 まず、シングルノード構成を構築するためのインストール手順を紹介します。この手順は、後の複数ノード構成を構築する基本です。そのため、ステップを細かく分けて詳しく説明します。

インストール環境

 以下の環境に対して、Cassandra 1.2をインストールします。後述する複数ノード構成も同様の構成です。

表5:インストール対象
ハードウェア 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形式を使用します。

表6:ダウンロードファイルと取得サイト
内容 ファイル名 取得サイト
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ファイルは、シングルサーバ用に設定されています。そのため、変更する必要はありません。

表7:cassandra.yamlファイルの設定ポイント
行数 設定項目 デフォルト設定値 意味
239 seeds "127.0.0.1" seedを参照するノードアドレス
330 listen_address localhost 自ノードIPアドレス
336 rpc_address localhost rpcを受け付けるIPアドレス

次のページ
データ操作(CQL)

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

佐藤 栄一(コネクト株式会社)(サトウ エイイチ(コネクトカブシキガイシャ))

PHPによるWebシステム構築をプロダクトとサポートサービスで支援するコネクト株式会社(創業時はゼンド・ジャパン株式会社)の創立メンバー。主要事業の一つであるMySQLの技術担当(Oracle Certified Expert,MySQL 5.1 Cluster Database Administrator)。ビックデータで注目を集めるCassandraも合わせて担当する。http://www.konekto.jp/

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7548 2014/01/08 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング