樂天 ROMA 分散式儲存

. 2010年1月12日 星期二
  • Agregar a Technorati
  • Agregar a Del.icio.us
  • Agregar a DiggIt!
  • Agregar a Yahoo!
  • Agregar a Google
  • Agregar a Meneame
  • Agregar a Furl
  • Agregar a Reddit
  • Agregar a Magnolia
  • Agregar a Blinklist
  • Agregar a Blogmarks
Bookmark and Share

GOOGLE時看到一個東西 ROMA 這個是日本樂天研究所針對分散式儲存所做的一個應用方案。由RUBY開發,相容Memcached。原文參考

安裝流程:
一、環境:
1.debian

二、安裝ruby,gem
apt-get install ruby rubygems

三、安裝 eventmachine
gem install eventmachine

四、下載roma http://github.com/roma/roma/downloads
1.解開tar檔

2.cd roma-roma-4f69a05/ruby/server/bin/

3.建立nodes設定檔
(1)ruby mkroute localhost_11211 localhost_11212 --enabled_repeathost

如果成功會看到下列訊息:
nodes => localhost_11211localhost_11212
Routing table has created.
查一下目前目錄下,是否有這兩個檔localhost_11211.route,localhost_11212.route

4.啟動ROMA
ruby romad localhost -p 11211 -d --enabled_repeathost 失敗了
錯誤訊息:roma-roma-4f69a05/ruby/server/bin/../lib/roma/routing/rttable.rb:6:in `require': no such file to load -- json (LoadError)
查一下gem套件
gem list
json (1.2.0)
json_pure (1.2.0)
真怪,有裝json套件,查了一下google

修改一下rttable.rb,加入紅字那行
require 'yaml'
require 'rubygems'
require 'json'

再來一次,成功了
10:24AM 0:02.20 ruby romad localhost -p 11211 -d --enabled_repeathost

看一下logfile有錯誤訊息
E, [2010-01-13T11:50:45.803857 #42013] ERROR -- : /usr/home/abc/roma-roma-4f69a05/ruby/server/bin/../lib/roma/romad.rb:525:Send command failed that node-id is localhost_11211,command is whoami

找不到原因,用php 測式,也無法做資料寫入讀出,奇怪,改天再研究

後來問了一下作者,才知道,原來只支援ruby 1.9以上,目前debain or freebsd
內建的package只有1.8.7,所以手動下載1.9版安裝,終於可以用了。

memcached and roma測式 100條程序,每條執行100 次結果如下:
ROMA:
391/sec(寫入每秒處理量)
395/sec(讀取每秒處理量)

Memcached :
389/sec(寫入每秒處理量)
396/sec(讀取每秒處理量)



參考資料
http://code.google.com/p/roma-prj/wiki/QuickStart

0 意見: