스토리지에 TokyoCabinet을 사용하는 방법
조건
server: 1대
storage type : TokyoCabinet
루비 버전 : v2.1
ROMA 버전 : v1.2.0
Installation type : rubygems
절차
1. install ROMA
$ gem install roma
2. make instance(Cluster)
$ mkroute localhost_10001 localhost_10002 --replication_in_host
ls -l
-rw-r--r-- 1 root root 35693 Dec 2 05:35 localhost_10001.route
-rw-r--r-- 1 root root 35693 Dec 2 05:35 localhost_10002.route
3. TokyoCabinet 설치
라이브러리 설치
1. install ROMA
$ gem install roma
2. make instance(Cluster)
$ mkroute localhost_10001 localhost_10002 --replication_in_host
ls -l
-rw-r--r-- 1 root root 35693 Dec 2 05:35 localhost_10001.route
-rw-r--r-- 1 root root 35693 Dec 2 05:35 localhost_10002.route
3. TokyoCabinet 설치
라이브러리 설치
CentOS 6.x 7.x
우분투 14.x
gcc
gcc
gcc-c++
build-essential
make
make
zlib-devel
zlib1g-dev
bzip2-devel
libbz2-dev
Install TokyoCabinet Main unit
$ wget http://fallabs.com/tokyocabinet/tokyocabinet-1.4.48.tar.gz
$ tar -zxvf tokyocabinet-1.4.48.tar.gz
$ cd tokyocabinet-1.4.48
$ ./configure --prefix=/usr/local/libexec
$ make
$ sudo make install
Install Tokyo Cabinet Ruby gem
$ wget https://github.com/roma/tokyocabinet-ruby/archive/v1.31.a.tar.gz
$ tar -zxvf v1.31.a.tar.gz
$ cd tokyocabinet-ruby-1.31.a
$ gem build tokyocabinet.gemspec
$ gem install --local tokyocabinet-1.31.a.gem -- --with-tokyocabinet-dir=/usr/local/libexec
$ gem list tokyocabinet
*** LOCAL GEMS ***
tokyocabinet (1.31.a)
확인
$ irb
YOUR_RUBY :001 > require 'tokyocabinet'
=> true
YOUR_RUBY :002 > include TokyoCabinet
=> Object
YOUR_RUBY :003 > hdb = HDB.new
=> #<TokyoCabinet::HDB:0x00000002854fd8 @hdb=#<TokyoCabinet::HDB_data:0x00000002854fb0>>
YOUR_RUBY :004 > hdb.open('test.tch', HDB::OWRITER | HDB::OCREAT)
=> true
YOUR_RUBY :005 > hdb["test"] = "ok"
=> "ok"
YOUR_RUBY :006 > hdb["test"]
=> "ok"
YOUR_RUBY :007 > hdb.close
=> true
YOUR_RUBY :008 > exit
4. config 설정
$ mkconfig
Which storage will you use?
[1] Ruby Hash
[2] Tokyo Cabinet
[3] Groonga
> ### => 2を選択します
나머지 설정은 서버 및 환경에 맞게 입력하십시오.
ぃ tp // 코 m / 히로아키 이와세 / ms / 84bd 36f2f482 6c2c3
5. 부팅 ROMA
romad localhost -p 10001 -d --config ./config.rb --replication_in_host
romad localhost -p 10002 -d --config ./config.rb --replication_in_host
6. 확인
storages[roma].storage.st_class
가 TCStorage가되면 OK입니다.$ telnet localhost 10001
> stat storage
stats.run_iterate_storage false
stats.run_storage_clean_up false
storages[roma].storage.storage_path /home/roma/localhost_10001/roma
storages[roma].storage.st_class TCStorage
storages[roma].storage.divnum 10
storages[roma].storage.option bnum=5000000#xmsiz=16106127#opts=d#dfunit=10
.
.
.
storages[roma].storage.storage_path
에 있는 /home/roma/localhost_10001/roma
아래에 TC 파일이 작성되었습니다.$ ls -l /home/roma/localhost_10001/roma
total 204880
-rw-r--r-- 1 roma roma 20975936 Dec 4 11:31 0.tc
-rw-r--r-- 1 roma roma 20975936 Dec 4 11:31 1.tc
-rw-r--r-- 1 roma roma 20975936 Dec 4 11:31 2.tc
-rw-r--r-- 1 roma roma 20975936 Dec 4 11:31 3.tc
-rw-r--r-- 1 roma roma 20975936 Dec 4 11:31 4.tc
-rw-r--r-- 1 roma roma 20975936 Dec 4 11:31 5.tc
-rw-r--r-- 1 roma roma 20975936 Dec 4 11:31 6.tc
-rw-r--r-- 1 roma roma 20975936 Dec 4 11:31 7.tc
-rw-r--r-- 1 roma roma 20975936 Dec 4 11:31 8.tc
-rw-r--r-- 1 roma roma 20975936 Dec 4 11:31 9.tc
-rw-rw-r-- 1 roma roma 0 Dec 4 11:31 lock
-rw-rw-r-- 1 roma roma 0 Dec 4 11:31 status.log.1
데이터 내용
참조 URL
ROMA Use TokyoCabinet for ROMA : htp://로마-kvs. 오 rg / ぇ r rn / Tokyobine t_ b. HTML
Reference
이 문제에 관하여(스토리지에 TokyoCabinet을 사용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hiroaki-iwase/items/366526ef9fedc3b92bcc
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(스토리지에 TokyoCabinet을 사용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hiroaki-iwase/items/366526ef9fedc3b92bcc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)