ttserver(tokyotyrant server)安装(附带遇到的问题解决)

要配置测试环境需要一个代替memcache的server,于是乎配了ttserver(tokyotyrant)。不知道这是什么东东的童鞋去google一下。

以下安装全部基于FreeBSD 7.2系统。

1.安装ttserver

<1>官网下载ttserver http://1978th.net/tokyotyrant/ 

<2>把下载下来的包用sftp拉到服务器上,放到/usr/local下

<3> tar -zxf tokyotyrant-版本号.tar.gz

<4>cd 到解压的tokyotyrant目录下

<5> ./configure
          这时候出错,提示

checking for tcutil.h… no
configure: error: tcutil.h is required

发现没有装tokyoCarbinet.

2. 安装tokyoCarbinet

<1>官网下载tokyoCarbinethttp://1978th.net/tokyocabinet/ 

<2>把下载下来的包用sftp拉到服务器上,放到/usr/local下

<3>tar -zxf tokyocarbinet-版本号.tar.gz

<4>cd 到解压的tokyoCarbinet目录下

<5>./configure

<6>make

这时候出错

LD_RUN_PATH=/lib:/usr/lib:/usr/local/lib:/root/lib:/usr/local/lib:/usr/local/lib:. gcc -g -O2 -std=c99 -Wall -fPIC -fsigned-char -O2 -o tcutest  -L. -L/usr/local/lib -L/root/lib -L/usr/local/lib  -ltokyocabinet -lbz2 -lz -lrt -lpthread -lm -lc
/usr/lib/crt1.o(.text+0x8a): In function `_start’:
: undefined reference to `main’
*** Error code 1Stop in /usr/local/tokyocabinet-1.4.45.

 

<5>  去网上找了下tc的makefile需要gmake来编译,因为我是bsd系统,所以去下了gmake然后装上后回头运行(安装gmake中也遇到很多问题,下篇文章再介绍)
gmake

<6>make install (tc安装结束)

下面回到ttserver的安装

重新运行

./configure
make
make install

install完成后 ttserver安装结束。

3. 启动并测试ttserver

<1>启动ttserver
        进入 ttserver的目录下运行

ttserver -host 127.0.0.1 -port 11211 -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

运行了上面启动server的命令后遇到错误

ttserver -host 127.0.0.1 -port 11211 -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
mtree: line 6: unknown group wheel

经检查是因为我之前把自己的bsd里的wheel给删除了,运行pw groupadd wheel (加了一个wheel组)后回头重新运行上面启动server的命令就好了。

(ttserver的每个参数具体含义 运行 ttserver –h 查看)

ttserver -host -port -thnum -tout [-dmn] -pid -log [-ld|-le] -ulog -ulim [-uas] -sid -mhost -mport -rts [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 : 指定用来存放同步时间戳的文件名。

<2> 测试 ttserver是否可用

利用curl命令调用

写数据:

 curl -X PUT http://127.0.0.1:11211/key -d “value”

读数据:

curl http://127.0.0.1:11211/key
(如果此时可以回显上一步写入的 value这个字符代表刚才的写入和现在的读取均成功)

删数据:

curl -X DELETE http://127.0.0.1:11211/key

Tags: , , ,

Leave a Comment