2011-05-21

仮想マシンで、Cassandra クラスタ環境を構築する

Cassandraのクラスタの環境を構築したいが家にはノートPCが2台しかないので、構築は難しい。
そこで、3台の仮想マシンを使用して構築することにしました。

■目的
Cassandraの3ノード以上のクラスタの環境を構築する。
3台の仮想マシンを使用して構築する。

■環境
ホストOS Windows Vista Ultimate SP2 (32bit)
仮想環境用ソフト VMWare Player 3.1.4 build-385536
仮想マシンOS Ubuntu 8.04 LTS
Cassandra 0.7.x

■「VMWare Player」のダウンロードとインストール
VMware Player 3.0

■ubuntuの準備
ubuntu は、「ubuntu Japanese team」が提供している「VMware用仮想マシン(Ubuntu 8.04 LTS)」をダウンロードして使用しました。
VMware用仮想マシン

仮想マシンの起動も、同ページに記載されていた手順で起動しました。

【Cassandra用PCの構成】
ノードのPC ホスト名 IPアドレス
PC1 cas1 172.25.0.31
PC2 cas2 172.25.0.32
PC3 cas3 172.25.0.33

■Cassandraのインストール
PC1,PC2,PC3にCassandraをインストールします。
インストールは、Cassandra 0.7をUbuntuにインストールするを参照してください。
インストール後に、Cassandra.yamlを変更しません。
もちろん各ノードで、Cassandaraが正常に動作していることを確認しておきます。

■PC1での操作
cassandra.yamlを編集します。
【PC1のcassandra.yamlの設定】
auto_bootstrap false
seeds 172.25.0.31
listen_address 172.25.0.31
rpc_address 0.0.0.0

最初のノードでブートストラップしないので、auto_bootstrapをfalseに設定します。

Cassandraを再起動します。
$ sudo /etc/init.d/cassandra restart

nodetoolでリングを確認します。
$ nodetool -h localhost ring
Address         Status State   Load            Owns    Token
172.25.0.31     Up     Normal  15.17 KB        100.00% 70409899430563219284798751869237800915

■PC3での操作

cassandra.yamlを編集します。
【PC3のcassandra.yamlの設定】
auto_bootstrap true
seeds 172.25.0.31
listen_address 172.25.0.33
rpc_address 0.0.0.0

ブートストラップでノードに参加するので、auto_bootstrapをtrueに設定します。
参加するリングのノードであるPC1のアドレスをseedに設定します。

Cassandraを再起動します。
$ sudo /etc/init.d/cassandra restart

nodetoolでリングを確認します。
$ nodetool -h localhost ring
Address         Status State   Load            Owns    Token
                                                       70409899430563219284798751869237800915
172.25.0.33     Down   Normal  6.54 KB         72.46%  23553458790910585615865889452289005374
172.25.0.31     Up     Normal  10.91 KB        27.54%  70409899430563219284798751869237800915

■PC2での操作

cassandra.yamlを編集します。
【PC2のcassandra.yamlの設定】
auto_bootstrap true
seeds 172.25.0.31
listen_address 172.25.0.32
rpc_address 0.0.0.0

ブートストラップでノードに参加するので、auto_bootstrapをtrueに設定します。
参加するリングのノードであるPC1のアドレスをseedに設定します。
seedに設定するノードは、既にクラスタに参加しているノードであればよいです。

Cassandraを再起動する。
$ sudo /etc/init.d/cassandra restart

$ nodetool -h localhost ring
Address         Status State   Load            Owns    Token
                                                       70409899430563219284798751869237800915
172.25.0.33     Up     Normal  11.01 KB        72.46%  23553458790910585615865889452289005374
172.25.0.32     Up     Normal  10.91 KB        3.27%   29115843588644070930161253639320793841
172.25.0.31     Up     Normal  11.01 KB        24.27%  70409899430563219284798751869237800915

これで、3ノードのクラスタ環境構築完了しました。
やった!

0 件のコメント: