Kyotoconn安装要求
1.Linux2.6 以上版本
2.gcc 4.2以上(不准确)
3.ZLIB 1.2.3以上版本
4.Kyoto Cabinet 1.2.42以上版本
zilb安装
下载ZIB
http://www.zlib.net/
zlib-1.2.7.tar.gz
tar -xzvf zlib-1.2.7.tar.gz
cd zlib-1.2.7
编译静态Librarires
./configure
make test
make install
编译共享libraries
make clean
./configure --shared
make test
make install
cp zutil.h /usr/local/include
cp zutil.c /usr/local/include
KC 安装
http://fallabs.com/kyotocabinet/
wget http://fallabs.com/kyotocabinet/pkg/kyotocabinet-1.2.76.tar.gz
tar -xzvf kyotocabinet-1.2.76.tar.gz
cd kyotocabinet-1.2.76
./configure
make
make check
make install
vim /etc/ld.so.conf
添加
/usr/local/lib
ldconfig
安装KT
tar -xzvf kyototycoon-0.9.56.tar.gz
cd kyototycoon-0.9.56
./configure
make
make check
make install
数据库启动
ktserver
数据写入
ktremotemgr set aaa bbb
ktremotemgr set 2 bbb
数据查询
ktremotemgr get aaa
删除数据
ktremotemgr remove aaa
设置数据过期时间
ktremotemgr set -xt 60 abc eee
查看数据过期时间
ktremotemgr get -pt abc
单机启动
ktserver -port 1978 -tout 10
-log /var/data/ktserver.log -ls
-dmn -pid /var/data/ktserver.pid
'/var/data/casket.kch#opts=l#bnum=20000000#msiz=12g#dfunit=8'
-log 存放实例日志信息
-dmn 以dameon方式启动
bnum 可存放数据条数
msize 可存放数据大小
dameon 模式下停止服务
kill -TERM `cat /var/data/ktserver.pid`
日志管理
$ mv -f /var/data/ktserver.log /var/data/ktserver.log.`date '+%Y%M%d%H%M%S'`
$ kill -HUP `cat /var/data/ktserver.pid`
KT 当缓存使用
ktserver ':#bnum=20000000#ktcapsiz=10g'
删除数据时随机删除
ktserver '*#bnum=20000000#capsiz=8g'
删除数据时按照先进先出算法删除
为内存数据库创建快照
$ ktserver -bgs mysnap -bgsi 30
KT同步复制
主库必须有更新日志
主库ID必须唯一
每个SLAVE必须记录更新日志
每个SLAVE 必须有唯一ID
每个SLAVE 必须记录主库的IP地址和端口号码
主库
mkdir /var/data
mkdri /usr/local/log
ktserver -port 1978 -tout 10 -log /var/data/ktserver.log -ls -dmn -pid /usr/data/ktserver.pid -ulog /usr/local/log/0001-ulog -sid 1 '/var/data/casket001.kch#opts=l#bnum=20000000#msiz=12g#dfunit=8'
SLAVE
ktserver -port 1979 -tout 10 -log /var/data/ktserver002.log -ls -dmn -ulog /usr/local/log/0002-ulog -sid 2 -mhost 192.168.160.89 -mport 1978 -rts 0002.rts '/var/data/casket002.kch#opts=l#bnum=20000000#msiz=12g#dfunit=8'
如果主库损坏
rm casket-0001.kch
主主复制
[root@DB192168160089 ~]# ktserver -port 1978 -tout 10 -log /var/data/ktserver.log -ls -dmn -pid /usr/data/kt server.pid -ulog /usr/local/log/0001-ulog -sid 1 -mhost 192.168.160.89 -mport 1079 -rts /usr/local/log/001.rt s '/var/data/casket001.kch#opts=l#bnum=20000000#msiz=12g#dfunit=8'
[root@DB192168160089 ~]# ktserver -port 1979 -tout 10 -log /var/data/ktserver002.log -ls -dmn -ulog /usr/lo cal/log/0002-ulog -sid 2 -mhost 192.168.160.89 -mport 1978 -rts /usr/local/log/0002.rts '/var/data/casket002. kch#opts=l#bnum=20000000#msiz=12g#dfunit=8'
修改SERVER 的复制关系
ktremotemgr tunerepl -port 10002 -mport 10003 localhost
常用命令
ktremotemgr report -port 10001
ktremotemgr clear -port 10001
参考文档
http://fallabs.com/kyototycoon/spex.html