facebook twitter hatena line email

「Linux/KyotoTycoonインストール」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
 
(同じ利用者による、間の7版が非表示)
行1: 行1:
==KyotoCabinetが必要なのでインストール==
+
[[Linux/KyotoTycoonインストール/rocky10]]
yum install gcc-c++
+
yum install zlib-devel
+
yum install lzo-devel.x86_64 lzma-devel.x86_64 xz-devel.x86_64
+
cd /usr/local/src
+
wget http://fallabs.com/kyotocabinet/pkg/kyotocabinet-1.2.76.tar.gz
+
tar zxfv kyotocabinet-1.2.76.tar.gz
+
cd kyotocabinet-1.2.76
+
./configure
+
make
+
make install
+
  
==KyotoTycoonインストール(64bit==
+
[[Linux/KyotoTycoonインストール/centos7]]
yum install lua-devel.x86_64
+
cd /usr/local/src
+
wget http://fallabs.com/kyototycoon/pkg/kyototycoon-0.9.56.tar.gz
+
tar zxfv kyototycoon-0.9.56.tar.gz
+
cd kyototycoon-0.9.56
+
./configure
+
make
+
make install
+
 
+
==起動・停止スクリプトを/usr/local/sbinと/etc/init.dにコピー==
+
cp /usr/local/src/kyototycoon-0.9.56/lab/ktservctl /usr/local/sbin/
+
cp /usr/local/src/kyototycoon-0.9.56/lab/ktservctl /etc/rc.d/init.d/ktserver
+
 
+
==KyotoTycoon起動==
+
/etc/rc.d/init.d/ktserver start
+
>Executing: ktserver -port 1978 -tout 30 -th 8 -dmn -pid /var/ktserver/pid -log /var/ktserver/log -ls /var/ktserver/casket.kch#bnum=2000000#msiz=128m#dfunit=8
+
Done
+
 
+
===起動エラー修正===
+
/etc/rc.d/init.d/ktserver: line 68: ktserver: command not found
+
$ vi /etc/rc.d/init.d/ktserver
+
- cmd="ktserver"
+
+ cmd="/usr/local/bin/ktserver"
+
 
+
もしくはシンボリックを追加
+
ln -s /usr/local/bin/ktremotemgr /usr/bin/ktremotemgr
+
 
+
==KyotoTycoon停止==
+
/etc/rc.d/init.d/ktserver stop
+
 
+
==KyotoTycoon自動起動設定==
+
以下コードを/etc/rc.d/init.d/ktserverの4行目に追加する
+
4 # Startup script for the server of Kyoto Tycoon
+
5 + # chkconfig:  - 80 20
+
6 + # description: Kyoto Tycoon - KVS Database
+
 
+
/sbin/chkconfig --add ktserver
+
/sbin/chkconfig ktserver on
+
/sbin/chkconfig --list | grep ktserver
+
> ktserver        0:off  1:off  2:on  3:on  4:on  5:on  6:off
+
 
+
==起動確認==
+
/usr/local/bin/ktremotemgr set k1 v1
+
/usr/local/bin/ktremotemgr get k1
+
>v1
+
/usr/local/bin/kttimedmgr list -pv /var/ktserver/casket.kch
+
>k1 v1
+
 
+
==起動確認エラー(part1==
+
ktserver: error while loading shared libraries: libkyototycoon.so.2: cannot open shared object file: No such file or directory
+
# vi /etc/ld.so.conf.d/kyoto.conf
+
/usr/local/lib #追加
+
# ldconfig #conf反映
+
 
+
 
+
==起動確認エラー(part2==
+
/usr/local/bin/ktremotemgr: DB::open failed: : 6: network error: connection failed
+
 
+
適切にktserverがstartしているか確認
+
 
+
memcache互換で使用している場合は、plex port=が設定されているか。
+
 
+
DBが壊れている可能性があるので一旦退避してみる(退避の間はそのアクセスできません)
+
mv /var/ktserver/casket.kch /var/ktserver/casket_bk.kch
+
 
+
==デフォルトポート==
+
1978
+
TokyoTyrantと同じなので注意
+
 
+
==手動で起動(一時確認に使用)==
+
/usr/local/bin/ktserver \
+
-port 1978 \
+
-tout 10 \
+
-th 16 \
+
-log /var/ktserver/log -ls \
+
-ulog /var/ktserver/ulog -ulim 256m \
+
-sid 1 \
+
-bgs /var/ktserver/snapshot -bgsi 180 -bgsc lzo \
+
-pid /var/ktserver/kt.pid \
+
-plsv /usr/local/kyototycoon/libexec/ktplugservmemc.so \
+
-plex "port=11401#opts=f#tout=10" \
+
"/var/ktserver/db_casket.kch#opts=l#bnum=20000000#msiz=12g#dfunit=8"
+
 
+
memcachedプロトコルを使う場合のポートは11401とした
+
 
+
==起動オプション==
+
th=8 処理スレッド数
+
bnum=2000000 バケット数は100万レコードの2倍値
+
opts=ls データベースオプションは、4バイトアドレッシング、線形リスト
+
ktopts=p データは永続化
+
msiz=12g  DBファイルの先頭2GB分をmmapでマップしてIOを効率化することを意味する(搭載メモリが16Gぐらいだと12Gで設定
+
dfunit 8個のフラグメンテーションを検出した際に解消
+
ktcapsiz=10g 最大メモリ使用量。(LRU)
+
 
+
参考:http://blog.kazupon.jp/post/20476065695/kt-msgpack-fork
+
 
+
参考:http://seesaawiki.jp/w/kurt0027/d/kyototycoon
+
 
+
参考:http://www.slideshare.net/estraier/kyoto-tycoon-guide-in-japanese
+
 
+
==オプション設定例==
+
普通のキャッシュサーバ
+
#bnum=20000000#ktcapsiz=10g
+
永続的キャッシュサーバ
+
ktserver ... casket.kch#opts=l#bnum=2000000#msiz=1g#dfunit=8
+
 
+
参考:http://www.slideshare.net/estraier/kyoto-tycoon-guide-in-japanese
+
 
+
参考:http://fallabs.com/blog-ja/promenade.cgi?id=98
+
 
+
==メモリ最適化==
+
デフォでは使えないので必ずメモリ数は変更する
+
$ vi /etc/rc.d/init.d/ktserver
+
26 dbname="$basedir/casket.kch#bnum=2000000#msiz=12g#dfunit=8"
+
 
+
サーバが16GB搭載してれば12GBぐらいとする(msiz=12g
+
 
+
サーバが6GB搭載してれば4GBぐらいとする(msiz=4g
+
 
+
サーバが1GB搭載してれば600MBぐらいとする(msiz=600m
+
 
+
==ログの場所==
+
tail -f /var/ktserver/log
+
 
+
==ファイルハッシュデータベースの場所==
+
ls -ltA /var/ktserver/casket.kch
+
 
+
==起動バッチにmemcache互換を入れる==
+
デフォルトでは互換ではない
+
 
+
$ vi /etc/rc.d/init.d/ktserverに以下を入れる
+
 
+
67    fi
+
68  + cmd="$cmd -plsv /usr/local/src/kyototycoon-0.9.56/ktplugservmemc.so"
+
69  + cmd="$cmd -plex port=11401#opts=f#tout=10"
+
70    cmd="$cmd $dbname"
+
 
+
/usr/local/src/kyototycoon-0.9.56/ktplugservmemc.soは適宜locateで確認して存在するktplugservmemc.soを入れる
+
 
+
==php連携==
+
memcacheプロトコルがまんま使えるのでmemcache接続コードのportを変更するだけ
+
 
+
==telnetで動作確認==
+
$ telnet 127.0.0.1 11401
+
set key1 0 3600 6
+
value1
+
get key1
+
VALUE key1 0 6
+
value1
+
END
+
終了はctrl+]
+
 
+
==参考==
+
http://cloud-berry.jp/wordpress/?p=161
+
 
+
バックアップなど
+
http://d.hatena.ne.jp/fat47/?of=43
+
 
+
バックアップなど
+
http://seesaawiki.jp/w/kurt0027/d/kyototycoon
+

2026年4月7日 (火) 16:20時点における最新版

Linux/KyotoTycoonインストール/rocky10

Linux/KyotoTycoonインストール/centos7