分散Key-Valueストア「kumofs」の概要とインストール

最近気になっていた、kumofsをWEBサーバ群に投入すべく、まずは一台のサーバにインストールを行いました。

kumofsの概要

まずは、kumofsって何?というところのまとめです。

  • えとらぼ株式会社が、オープンソースソフトウェアとして公開している。ライセンスは、Apache License 2.0。
  • 分散Key-Valueストア(KVS)である。
  • チープなサーバを組み合わせていくことで可用性を高めていく、スケールアウトが可能なシステム。
  • 複数のサーバにレプリケーションとして保存し、障害が発生すると自動検出して切り離す。
  • 動的にサーバの追加、離脱が可能。
  • サーバの台数や構成は、アプリケーションから隠蔽されるので、システムを変更しても、アプリケーションに影響がない。
  • memcachedと互換性のあるプロトコルを実装している。
  • Ficiaで使用している。(運用実績)

kumofsのインストール

それでは、インストール作業です。

必要パッケージのインストールを行います。

# yum install gcc openssl-devel zlib-devel bzip2-devel libtool  ruby ruby-devel

※[追記]Rubyは現状、yumを使わずに手動でインストールを行う必要があるようです。詳細は、
CentOSのyumでインストールしたRubyをバージョンアップ(インストール)を確認下さい。

以下のページを参考にして、gcc/g++ 4.4 をインストールします。

# yum install gcc44 gcc44-c++

gcc/g++ 4.1だとkumofs のビルドに失敗します( _syncandaddfetch_4 がどうとか言われる)。なので、先にgcc/g++ 4.4をインストールしておく。

Centos 5. 1 に kumofs 0.3.1 をインストール – I CAN ’CAUSE I THINK I CAN!

ここで注意!
私の環境で ./configure && make した際、インストールは無事完了したものの、いざライブラリを使おうと思うと、__sync_sub_and_fetch_4が無いとのエラーが出ました。
kumofsを使う (さくらインターネット創業日記)

RubyGemsをインストールします。

# yum install rdoc
# wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
# tar zxvf rubygems-1.3.5.tgz
# cd rubygems-1.3.5
# ruby setup.rb
RubyGems 1.3.5 installed

Tokyo Cabinetをインストールします。

# wget http://1978th.net/tokyocabinet/tokyocabinet-1.4.43.tar.gz
# tar zxvf tokyocabinet-1.4.43.tar.gz
# cd tokyocabinet-1.4.43
# ./configure
# make
# make install

MessagePack for C++をインストールします。

# wget http://downloads.sourceforge.net/project/msgpack/msgpack/cpp/msgpack-0.4.3.tar.gz
# tar zxvf msgpack-0.4.3.tar.gz
# cd msgpack-0.4.3
# CC=gcc44 CXX=g++44 ./configure
# make
# make install

MessagePack for Rubyをインストールします。

# gem install msgpack

kumofsをインストールします。

# wget http://github.com/etolabo/kumofs/tarball/kumofs-0.3.2
# tar zxvf etolabo-kumofs-3d4dc92.tar.gz
# cd etolabo-kumofs-3d4dc92
# ./bootstrap
# CC=gcc44 CXX=g++44 ./configure
# make
# make install

これで、インストール作業は完了です。

とりあえず起動

とりあえず、kumo-manager を起動してみます。

# export LD_LIBRARY_PATH=/usr/local/lib
# kumo-manager -v
usage: kumo-manager -l  -p 

  -p     --partner        master-slave replication partner
  -a                        --auto-replace   enable auto replacing
  -Rs             --replace-delay  delay time of auto replacing in sec.
  -k      --keepalive-interval     keepalive interval in seconds
  -Ys     --connect-timeout        connect timeout time in seconds
  -Yn     --connect-retry-limit    connect retry limit
  -Ci     --clock-interval         clock interval in seconds
  -TW     --write-threads          number of threads for asynchronous writing
  -TR     --read-threads           number of threads for asynchronous reading
  -o
    --log                    output logs to the file
  -g
   --binary-log             enable binary log
  -v                --verbose
  -d
    --daemon

  v0.3.2 revision

error: required but not set: -l

いちおう動作するようです。

今後の予定

いまのところ、まだ、情報鵜呑み状態ですが、すごくよさげなので、(財布と相談しながら)複数台を並べたシステムを完成させて、はやく実用的に使えるようにしたいと思っています。

参考ページ

カテゴリー: サーバ・インフラのこと   タグ:   この投稿のパーマリンク

トラックバック

分散Key-Valueストア「kumofs」の概要とインストール への3件のコメント

  1. ピンバック: 「kumofs」を使って、分散key-Valueストレージシステムを構築 « FlatLabs Blog

  2. ピンバック: 「kumofs」のストレージシステムにサーバを追加する « FlatLabs Blog

  3. ピンバック: 分散Key-Valueストア「kumofs」のインストール(0.4.13版) - FlatLabs

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>