LoginSignup
2
2

More than 5 years have passed since last update.

ROMAの設定をカスタマイズする方法(mkconfig)

Last updated at Posted at 2015-12-04

ROMAの設定をデフォルトから変更する方法です
Storage の種類を変更したり、使用するプラグインの指定したり、各種設定値の変更を行います

default値

任意の設定のconfigファイルの作成

  • 今回は任意の設定に変更したconfigファイルを作成し、そのconfigファイルの設定で起動する方法を紹介します

configファイル実行

$ mkconfig
  • configファイルの作成はmkconfigコマンドを使用します
  • このコマンドは対話的に設定値を入力することで、configファイルを作成します

Storage選択

if you doesn't input anything, default value is set.
+----------------------------------------------+
|STORAGE_CLASS: Roma::Storage::RubyHashStorage |
|STORAGE_OPTION:                               |
|PLUGIN_FILES: ["plugin_storage.rb"]           |
+----------------------------------------------+
Which storage will you use?
[1] Ruby Hash
[2] Tokyo Cabinet
[3] Groonga
>
  • 希望するStorage typeの番号を入力してEnterをおしてください
  • brankでEnterを押すとデフォルトのRuby Hash(memory mode)になります

Plugin選択

Please select which plugin will you use.(plugin_storage.rb is essential unless you make alternative plugin.)
[1] plugin_storage.rb
[2] plugin_mapcount.rb
[3] plugin_gui.rb
[4] plugin_cmd_aliases.rb
[5] plugin_test.rb
[6] plugin_map.rb
[7] plugin_alist.rb
[8] plugin_debug.rb
[9] Select all plugins
>
  • 使用するpluginの番号を選択してください
  • plugin_storage.rbはdataのget/set系など基本のコマンドが入っているので、代替のpluginを開発している場合以外は必須です

FD値の計算

Please select programming language of client by number.
[1] Ruby
[2] Java
[3] PHP
>

How many machine run as ROMA server?
>

How many machine run as ROMA client?
>
  • 上から
    • 使用するクライアントの種類
    • ROMAクラスター何台のserverで構成するか
    • ROMAクライアントを何台用意するか
    を指定します
  • (ここはFDの推奨値を計算するだけでconfigファイル自体には関係ありません)

最初にRuby Hash(memory mode)を選択した場合はこれで終了です

物理ファイル選択時

最初の選択で物理ファイル(TokyoCabinet, Groonga)を選択した場合は以下の項目が追加されます

How big memory size in 1 server? Please measure in GB.
>

How many run ROMA process per machine?
>

How many data will you store?
>
  • ROMAは物理ファイルをStorageに指定した場合、まずはメモリに保存した後に物理ファイルへFlushします。その際、ROMAに使用を許可させるメモリの容量を設定することが出来ます
  • データを読み込む際には、メモリ上に残っているデータは高速で読み込まれますが、上記の設定値を超えてメモリ上に残っていないデータに関しては物理アクセスが発生するためにその分スピードは遅くなります
  • この項目では単純にサーバ1台のメモリーサイズを入力すれば、ROMAが使用するmemory量を自動で計算します
    • 厳密には物理ファイル(TCファイル)1ファイルにつき、どれだけのメモリー量の使用を許可するかの値です
    • 計算式は以下です
      res["memory"].value.to_f * GB - OS_MEMORY_SIZE) / res["process"].value.to_i / TC_FILE
    • 入力されたメモリーサイズからOS用として1GB引き、プロセスの数と物理ファイルの数で割っています

確認

  • mkconfigが終了したら、カレントディレクトリにconfigファイルが作成されます
$ ls -l config.rb
-rw-rw-r-- 1 roma roma 2999 Dec  4 01:09 config.rb

PATHの設定

カレントディレクトリにROMAのroutingファイル等がある場合には変更不要ですが、以下のPATHを変更することで読み込むroutingファイルの場所や保存するデータのディレクトリを指定することが出来ます。

$ grep -r 'PATH' config.rb
    LOG_PATH = '.'
    RTTABLE_PATH = '.'
    STORAGE_PATH = '.'
    STORAGE_DUMP_PATH = '/tmp'
    WRITEBEHIND_PATH = './wb'

起動

作成したconfigファイルを利用してROMAを起動します

$ romad ${address} -p ${port NO.} -d --config ./config.rb

  • --configオプションは読み込むconfigファイルを指定します
  • 入力しない場合はデフォルトのライブラリに入っているconfigを読み込みます

参照URL

ROMA HP Configuration File : http://roma-kvs.org/docs/configuration.html
ROMA HP Install Main Unit : http://roma-kvs.org/learn/main_unit.html#dist-jump-link-6

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