项目中用到了TT/TC,今天在解决一个问题的时候,自己搭建了一个环境,先简单记录下,备用。
OS环境:centOS 6.3
软件: JDK1.6,
tokyocabinet-1.4.48.tar.gz
tokyotyrant-1.1.41.tar.gz
tokyocabinet-java-1.24.tar.gz(java-api)
1、安装
这个安装比较容易,就是configure , make ,make install
TC的安装:
./configure --prefix=/usr/local/tc
可能出现zlib找不到,使用yum install zlib-devel安装下就OK,一般情况提示差什么,就安装什么,但是注意一般是*devel包。
TT的安装
./configure --prefix=/usr/local/tt --with-tc=/usr/local/tc
2、TT启动/停止
/opt/ttserver 是数据文件目录
启动命令:
# ulimit -SHn 51200 # /usr/local/tt/bin/ttserver -port 11211 -thnum 8 -dmn -pid /opt/ttserver/ttserver.pid -log /opt/ttserver/ttserver.log -le -ulog /opt/ttserver/ -ulim 128m -sid 1 -rts /opt/ttserver/ttserver.rts /opt/ttserver/data.tch
命令说明:
支持的数据库类型有:内存hash数据库,内存tree数据库,hash数据库,B+ tree数据库,
命令通过下面的格式来使用,‘dbname’制定数据库名,如果省略,则被视作内存hash数据库。
ttserver [-host name] [-port num] [-thnum num] [-tout num] [-dmn] [-pid path] [-log path] [-ld|-le] [-ulog path] [-ulim num] [-uas] [-sidnum] [-mhost name] [-mport num] [-rts path] [-ext path] [-extpc name period] [-mask expr] [dbname]
下面来说这些参数的功能:
-host name :指明服务器的hostname或者ip地址。默认服务器的所有地址都会被绑定。比如:指定127.0.0.1这样的ip,就只是本地可以访问了。
-port num : 指定服务启动的端口. 默认1978.如果要启动多个数据库实例,端口需要不一样。
-thnum num : 指定服务工作的线程数。默认8.
-tout num : 指定每个会话的超时时间。默认永不超时。
-dmn : 以守护进程方式运行。
-pid path : 输出进程IP到指定的文件。
-log path : 输出日志信息到指定文件。
-ld : 日志中记录debug信息。
-le :日志中只记录错误信息。
-ulog path : 指定存放更新日志(update log)的目录.可以用来备份恢复数据库,主从库之间的同步。
-ulim num : 指定每个更新日志文件的大小限制.
-uas :使用异步IO记录更新日志。(使用此项可以减少写入日志的IO开销,但是在服务器意外关机,进程被kill时可能会丢失数据。根据经验,一般可以不使用)。
-sid num : 指定服务的ID号。主从复制的时候通过不同的ID号来识别。
-mhost name : 指定主从复制模式下的主服务器的IP或域名。
-mport num : 指定主从模式下主服务器的端口号.
-rts path : 指定用于主从复制的时间戳存放文件.
-ext path : 指定扩展脚本语言文件。
-extpc name period : 指定被周期调用的函数名和间隔时间.
-mask expr : 指定被禁止的命令名(比如可以禁止使用清空vanish).
-unmask expr : 指定被允许的命令名.
停止命令
ps -ax|grep ttserver
查出进程号,直接kill, 然后删除数据目录下的pid文件。当然也可以写个脚本。
3、TC命令行使用
根据不同的数据库类型选择不同的管理命令,如:你是hash方式的数据库,就选:tchmgr
注意个牛X的东西,如果TT启动,你使用TC的cli访问的话,需要使用-nb参数。
...下班了,下回在写。