您的位置:首页 > 运维架构 > Linux

Linux_tokyotyrant_缓存服务器_安装应用

2010-07-22 17:25 267 查看
功能和memcached一样;但具有持久化缓存:据说是目前最棒的缓存服务

和大家分享下自己的经验

软件下载
http://1978th.net/tokyocabinet/ http://1978th.net/tokyocabinet/tokyocabinet-1.4.45.tar.gz http://1978th.net/tokyotyrant/ http://1978th.net/tokyotyrant/tokyotyrant-1.1.40.tar.gz
如果用到 --enable-lua则要先安装lua-5.1.4.tar.gz源码包:
http://www.lua.org/ftp/lua-5.1.4.tar.gz
tar xzvf tokyocabinet-1.4.45.tar.gz

cd tokyocabinet-1.4.45

./configure --prefix=/usr/local/tc && make && make install

64位操作系统编译方法:

./configure --prefix=/usr/local/tc --enable-lib64 --libdir=/usr/lib64 && make && make install

tar xzvf lua-5.1.4.tar.gz

cd lua-5.1.4

make linux

make install

tar xzvf tokyotyrant-1.1.40.tar.gz

cd tokyotyrant-1.1.40

./configure --prefix=/usr/local/ttserver --with-tc=/usr/local/tc --enable-lua && make && make install

64位操作系统编译方法

./configure --prefix=/usr/local/ttserver --with-tc=/usr/local/tc --enable-lib64 --libdir=/usr/lib64 --enable-lua && make && make install

启动方法:

cd /usr/local/ttserver/bin

默认启动:

./ttserver &

[1] 19342

[root@feed bin]# 2010-07-22T11:50:28+08:00 SYSTEM --------- logging started [19342] --------

2010-07-22T11:50:28+08:00 SYSTEM server configuration: host=(any) port=1978

2010-07-22T11:50:28+08:00 SYSTEM maximum connection: 1048575

2010-07-22T11:50:28+08:00 SYSTEM opening the database: *

2010-07-22T11:50:28+08:00 SYSTEM service started: 19342

2010-07-22T11:50:28+08:00 INFO timer thread 1 started

2010-07-22T11:50:28+08:00 INFO worker thread 1 started

2010-07-22T11:50:28+08:00 INFO worker thread 2 started

2010-07-22T11:50:28+08:00 INFO worker thread 3 started

2010-07-22T11:50:28+08:00 INFO worker thread 4 started

2010-07-22T11:50:28+08:00 INFO worker thread 5 started

2010-07-22T11:50:28+08:00 INFO worker thread 6 started

2010-07-22T11:50:28+08:00 INFO worker thread 7 started

2010-07-22T11:50:28+08:00 INFO worker thread 8 started

2010-07-22T11:50:28+08:00 SYSTEM listening started

可以看到默认端口是 1978

单机模式启动:

ulimit -SHn 65536

mkdir -p /ttserver/

cd /usr/local/ttserver/bin

./ttserver -host 127.0.0.1 -port 22122 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 1 -rts /ttserver/ttserver.rts /ttserver/database.tch

双机互为主辅模式

  主服务器10.8.17.167:

ulimit -SHn 65536

ttserver -host 10.8.17.167 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 91 -mhost 10.8.18.204 -mport 11211 -rts /ttserver/ttserver.rts /ttserver/database.tch

  辅服务器10.8.18.204:

ulimit -SHn 65536

ttserver -host 10.8.18.204 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 92 -mhost 10.8.17.167 -mport 11211 -rts /ttserver/ttserver.rts /ttserver/database.tch

参数说明

  ttserver [-host name] [-port num] [-thnum num] [-tout num] [-dmn] [-pid path] [-log path] [-ld|-le] [-ulog path] [-ulim num] [-uas] [-sid num] [-mhost name] [-mport num] [-rts path] [dbname]

  -host name : 指定需要绑定的服务器域名或IP地址。默认绑定这台服务器上的所有IP地址。

  -port num : 指定需要绑定的端口号。默认端口号为1978

  -thnum num : 指定线程数。默认为8个线程。

  -tout num : 指定每个会话的超时时间(单位为秒)。默认永不超时。

  -dmn : 以守护进程方式运行。

  -pid path : 输出进程ID到指定文件(这里指定文件名)。

  -log path : 输出日志信息到指定文件(这里指定文件名)。

  -ld : 在日志文件中还记录DEBUG调试信息。

  -le : 在日志文件中仅记录错误信息。

  -ulog path : 指定同步日志文件存放路径(这里指定目录名)。

  -ulim num : 指定每个同步日志文件的大小(例如128m)。

  -uas : 使用异步IO记录更新日志(使用此项会减少磁盘IO消耗,但是数据会先放在内存中,不会立即写入磁盘,如果重启服务器或ttserver进程被kill 掉,将导致部分数据丢失。一般情况下不建议使用)。

  -sid num : 指定服务器ID号(当使用主辅模式时,每台ttserver需要不同的ID号)

  -mhost name : 指定主辅同步模式下,主服务器的域名或IP地址。

  -mport num : 指定主辅同步模式下,主服务器的端口号。

  -rts path : 指定用来存放同步时间戳的文件名。

停止tokyotyrant(ttserver)

ps -ef | grep ttserver

  找到ttserver的进程号并kill,例如:

kill -9 `cat ttserver.pid`

测试--演示非持久性

主:10.8.17.168

辅:10.8.18.204

启动服务:

主:

cd /usr/local/ttserver/bin/

./ttserver &

使用客户端(10.8.18.204)--另起一个终端

cd /usr/local/ttserver/bin

存放: ./tcrmgr put 10.8.17.167:1978 one test99

获取: ./tcrmgr get 10.8.17.167:1978 one

得到结果 test99

测试持久

主的重启ttserver,

辅的:再次获取./tcrmgr get 10.8.17.167:1978 one

没有结果:./tcrmgr: error: 7: no record found

测试--演示持久性

启动服务=====

主:

cd /usr/local/ttserver/bin/

./ttserver /tmp/x.tch

使用客户端(10.8.18.204)--另起一个终端

cd /usr/local/ttserver/bin

存放: ./tcrmgr put 10.8.17.167:1978 one test8888888

获取: ./tcrmgr get 10.8.17.167:1978 one

得到结果:test8888888

测试持久

重启主:ttserver

再次获取:

./tcrmgr get 10.8.17.167:1978 one

得到结果:test8888888

证明了持久化的存储

[root@web_test bin]# telnet 10.8.17.167 1978

Trying 10.8.17.167...

2010-07-22T17:42:34+08:00 INFO connected: 10.8.17.167:51610

Connected to localhost.localdomain (10.8.17.167).

Escape character is '^]'.

stats

STAT pid 1236

STAT uptime 254

STAT time 1279791756

STAT version 1.1.40

STAT pointer_size 64

STAT rusage_user 0.000999

STAT rusage_system 0.001999

STAT cmd_set 0

STAT cmd_set_hits 0

STAT cmd_set_misses 0

STAT cmd_delete 0

STAT cmd_delete_hits 0

STAT cmd_delete_misses 0

STAT cmd_get 1

STAT cmd_get_hits 1

STAT cmd_get_misses 0

STAT cmd_flush 0

STAT curr_items 1

STAT total_items 1

STAT bytes 528736

STAT threads 8

END

quit
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: