2012年3月20日火曜日

"Kyoto Tycoon (memcached plugin)"を"CentOS 6.2"にインストール

スズキです。

"CentOS 6.2"(下記AMI)に
SUZ-LAB謹製 CentOS AMI (6.2.1 64bit ap-northeast-1)
"Kyoto Tycoon (memcached plugin)"をインストールして、起動してみました。

まずは、"Kyoto Cabinet"のインストールです。
# cd /usr/local/src
# curl -OL http://fallabs.com/kyotocabinet/pkg/kyotocabinet-1.2.72.tar.gz
# tar xvzf kyotocabinet-1.2.72.tar.gz
# cd kyotocabinet-1.2.72
# ./configure 
# make
# make install

次に、"Kyoto Tycoon"のインストールです。
# cd /usr/local/src
# curl -OL http://fallabs.com/kyototycoon/pkg/kyototycoon-0.9.53.tar.gz
# tar xvzf kyototycoon-0.9.53.tar.gz
# cd kyototycoon-0.9.53
# ./configure
# make
# make install

そして、起動スクリプトを用意します。
※"memcached plugin"がきくように調整しています。
# cp /usr/local/src/kyototycoon-0.9.53/lab/ktservctl /etc/init.d/ktserver
# diff /usr/local/src/kyototycoon-0.9.53/lab/ktservctl /etc/init.d/ktserver 
4a5,6
> # chkconfig:   - 80 20
> # description: Kyoto Tycoon - KVS Database
17,20c19,22
< #miscopts="-oat"
< #ulogdir="$basedir/ulog"
< #ulim=1g
< #sid=1
---
> miscopts="-plsv /usr/local/libexec/ktplugservmemc.so -plex \"port=11211#opts=f\""
> ulogdir="$basedir/ulog"
> ulim=1g
> sid=1
24c26
< dbname="$basedir/casket.kch#bnum=2000000#msiz=128m#dfunit=8"
---
> dbname="$basedir/casket.kch"

準備が整ったら、"Kyoto Tycoon"を起動してみます。
# /etc/init.d/ktserver start
Starting the server of Kyoto Tycoon
Executing: ktserver -port 1978 -tout 30 -th 8 -dmn -pid /var/ktserver/pid -log /var/ktserver/log -ls -ulog /var/ktserver/ulog -ulim 1g -sid 1 -plsv /usr/local/libexec/ktplugservmemc.so -plex "port=11211#opts=f" /var/ktserver/casket.kch
Done

"memcached"として機能しているか確認します。
# telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
stats 
STAT pid 3367
STAT uptime 34
STAT time 1332253290
STAT version KyotoTycoon/0.9.53
STAT pointer_size 64
STAT curr_connections 1
STAT threads 16
STAT curr_items 0
STAT bytes 12589240
STAT db_apow 3
STAT db_bnum 2097169
STAT db_chksum 188
STAT db_count 0
STAT db_dfunit 0
STAT db_flags 1
STAT db_fmtver 5
STAT db_fpow 10
STAT db_frgcnt 0
STAT db_ktcapcnt -1
STAT db_ktcapsiz -1
STAT db_ktopts 0
STAT db_librev 9
STAT db_libver 16
STAT db_msiz 67108864
STAT db_opts 0
STAT db_path /var/ktserver/casket.kch
STAT db_realsize 12589240
STAT db_realtype 48
STAT db_recovered 0
STAT db_reorganized 0
STAT db_size 12589240
STAT db_trimmed 0
STAT db_type 48
STAT set_hits 0
STAT set_misses 0
STAT get_hits 0
STAT get_misses 0
STAT delete_hits 0
STAT delete_misses 0
STAT incr_hits 0
STAT incr_misses 0
STAT decr_hits 0
STAT decr_misses 0
STAT cmd_set 0
STAT cmd_get 0
STAT cmd_delete 0
STAT cmd_flush 0
END

最後に、自動起動するよに設定しておきます。
# chkconfig --add ktserver
# chkconfig ktserver on

予想以上に、あっさりできました!
--------
http://www.suz-lab.com/

2 コメント:

匿名 さんのコメント...
このコメントはブログの管理者によって削除されました。
DQNEO さんのコメント...

-plexの指定が効いてない気がします。
この書き方だとポート番号変えてもデフォルトの11211で起動してしまいます。
-plex  port=11222#opts=f
とクォートなしにしたらいけました。