kumofsの登場
前回は,
TokyoCabinetのデータベースエンジン+分散フレームワークの構成で構築されたアプリケーションがkumofsになります。こちらにkumofsのドキュメントがありますが,
kumofsの特色 (ドキュメントから一部引用)
- データは複数のサーバーにレプリケーションされます
- データは複数のサーバーに分散して保存されます
- 一部のサーバーがダウンしても正常に動き続けます
→アベイラビリティの向上
- システムを止めずにサーバーを追加できます
- システムを止めずにダウンしたサーバーを復旧できます
- 2台から60台程度までスケールします
(60台以上はまだ検証されていません)
→スケーラビリティの向上
シンプルなKVSとそれを横に拡散させる分散環境を組み合わせることによって
- アベイラビリティの向上
- スケーラビリティの向上
それでは実際に環境を構築してみましょう。
kumofsのインストール
環境は前回インストールしたマシンと同様です。
OS | CentOS_ |
|
必要なライブラリなど | Linux | 2. |
g++ | 4. |
|
ruby | 1. |
|
Tokyo_ | 1. |
|
MessagePack_ | 0. |
|
MessagePack_ | 0. |
|
libcrypto_ |
||
zlib |
基本的にkumofsのドキュメントに書かれているインストールガイドのまま進めていきます。TokyoCabinetのインストールは前回済んでいますね。まだの方は前回を参考にしてください。以下に,
g++はCentOSの場合は,
# yum install gcc-c++
rubyのインストールは以下のように行います。
# yum install ruby # yum install ruby-devel
注意
このとき,
/etc/
[ruby]
name=ruby
baseurl=http://repo.premiumhelp.eu/ruby/
gpgcheck=0
enabled=0
# yum --enablerepo=ruby install ruby ruby-rdoc ruby-devel
これで1.
gemのインストールは以下のように行います。
# wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz # tar zxvf rubygems-1.3.1.tgz # cd rubygems-1.3.1 # ruby ./setup.rb
libcrypt
# yum install openssl-devel
kumofsの構成
kumofsは3種類のデーモンで構成されます。
kumo-server | 実際にデータを保存するノード。少なくとも1台必要です。後から追加できます。 |
kumo-manager | kumo-server群を管理するノード。1台または2台で動かします。 |
kumo-gateway | アプリケーションからのリクエストをkumo-serverに中継するプロキシ。アプリケーションを動かすホスト上で1つずつ起動しておきます。 |
ここでもドキュメントのチュートリアルに従って進めていきます。私の環境でも同様に3台のサーバを用いて環境を構築します。
サーバ | kumo-manager | kumo-server | kumo-gateway |
---|---|---|---|
serv1 | ○ | ○ | - |
serv2 | ○ | ○ | - |
serv3 | - | ○ | ○ |
サーバサイドの環境構築や開発においてはLinuxマシンが必須になります。私の場合は,