LoginSignup
2
2

More than 5 years have passed since last update.

複数台でクラスターを構成する方法

Last updated at Posted at 2015-12-03

ROMAクラスターを複数台のserverで構成する方法です。

条件

server: 2
storage type : memory
ruby version : v2.1
ROMA version : v1.2.0
Installation type : rubygems

手順

1. install ROMA

gem install roma

2. make instance(Cluster)

  • single serverの時はrouting情報を'localhost_${port No.}'で作成していましたが、今回はip address、もしくはhost名に変更します
  • 今回はip address(192.168.33.11, 192.168.33.12)で作成します
  • --replication_in_hostオプションはsingle serverで構築する際のデバッグオプションなので、今回は外します
192.168.33.11にて
mkroute 192.168.33.11_10001 192.168.33.12_10001
ls -l
  -rw-r--r-- 1 root root 35693 Dec  2 05:35 192.168.33.11_10001.route
  -rw-r--r-- 1 root root 35693 Dec  2 05:35 192.168.33.12_10001.route
  • 192.168.33.12_10001.routeの方を192.168.33.12サーバへ移します
  • 今回はscpコマンドで移します(ユーザ名やディクレトリは適宜変更してください)
192.168.33.11にて
scp 192.168.33.12_10001.route vagrant@192.168.33.12:/home/roma/

mkrouteコマンドはどれか一つのserverでのみ実行して、それをコピーしてください

  • データの分散先をSHA1で作成しています。それぞれのサーバでmkrouteを行うと内容が違うものになってしまいます

3. booting ROMA

192.168.33.11にて
romad 192.168.33.11 -p 10001 -d
192.168.33.12にて
romad 192.168.33.12 -p 10001 -d

ステータス確認

telnet 192.168.33.11 10001
> stat node
  stats.run_receive_a_vnode {}
  routing.nodes.length 2
  routing.nodes ["192.168.33.11_10001", "192.168.33.12_10001"]
  .
  .
  .
  routing.version_of_nodes {"192.168.33.11_10001"=>66048, "192.168.33.12_10001"=>66048}
  END

> stat repetition
  stats.enabled_repetition_host_in_routing false
  END
  • stats.enabled_repetition_host_in_routingは同host内でのデータコピー(冗長)を許可するかどうかを表します。今回は--replication_in_hostオプションを外したのでfalseになっています。

一応データの確認も・・・

192.168.33.11にて
> set foo 0 0 3
> bar
  STORED
192.168.33.12にて
> get foo
  VALUE foo 0 3
  bar
  END

ちゃんとreplicationされているのが確認できます

参照URL

ROMA Install ROMA Unit : http://roma-kvs.org/learn/main_unit.htmll

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2