ttserver安装

    ttserverTokyo Cabinet和Tokyo Tyrant构成。Tokyo Cabinet是一款高性能基于文件系统的开源数据库,Tokyo Tyrant是在Tokyo   Cabinet的网络服务器,支持Memcached协议和Http协议。安装的先后顺序是先在机器上安装Tokyo Cabinet,然后在同一台机器上再安装Tokyo Tyrant。启动ttserver只需要启动Tokyo Tyrant服务器就可以了。Tokyo Tyrant的启动方式可以有“单机启动模式”和“双机互为主辅模式

 

    ttserver的安装依赖以下两个包:

    1、zlib-1.2.3.tar.gz

    2、bzip2-1.0.4.tar.gz

    若linux系统未安装或这两个包没有安装好,在
Tokyo Cabinet的configure时会报错:

configure: error: bzlib.h is required

 

安装zlib

    tar -zxvf zlib-1.2.3.tar.gz

   cd zlib-1.2.3

   ./configure

    make

    make install

安装bzip

    tar -zxvf bzip2-1.0.4.tar.gz

    cd bzip2-1.0.4

    make

    make install

 

安装Tokyo Cabinet

<!--EndFragment-->    tar -zxvf tokyocabinet-1.4.43.tar.gz

    cd tokyocabinet-1.4.43

    ./configure --prefix=/opt/cabinet --enable-off64  (参数--enable-off64 可以使数据库文件突破2GB的限制)

    这个时候可能还是会报错误,提示configure: error: bzlib.h is required 那就需要在configure中继续挂参数--with-zlib的位置了

    make

    make install

    在make install的时候可能会报错,错误信息如下:

//********************************************************************************

/usr/bin/ld: /usr/local/lib/libbz2.a(bzlib.o): relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libbz2.a: could not read symbols: Bad value
collect2: ld returned 1 exit status

make: *** [libtokyocabinet.so.9.6.0] Error 1

//********************************************************************************

    如果碰到这样的错误,就需要修改zlib和bzip包的makefile文件,再重新安装了。并且要注意一下安装的顺序。

1、删除/usr/local/lib下的libbz2.a和libz.a

如果发现 libbz2.a: could not read symbols: Bad value
就应该把/usr/local/lib中的libbz2.a删掉
进入解压缩的zlib-1.2.3目录,用make clean命令清理一下。
同样,/usr/local/lib/libz.a: could not read symbols
操作同上,删掉libz.a,把bzip2-1.0.4目录的编译文件清理一下。
如果找不到这两个文件的位置,可以在终端敲上:
find -name libbz2.a

2.修改zlib-1.2.3的Makefile文件
CC=gcc -fPIC

 

CFLAGS=-O3 -fPIC -D_LARGEFILE64_SOURCE=1
如果你之前编译过了,一定要用make clean清掉。

最后make 还有 make install

 

3.修改bzip2-1.0.4的Makefile文件
CC=gcc -fPIC 

AR=ar
RANLIB=ranlib
LDFLAGS=

BIGFILES=-D_FILE_OFFSET_BITS=64
CFLAGS=-fPIC -Wall -Winline -O2 -g $(BIGFILES) 

同样,bzip2有一个Makefile-libbz2_so的文件,编译时会调用,当然你也可以单个编译:
make -f Makefile-libbz2_so
make clean

make
make install

 

这两个包安装好后再回到Tokyo Cabinet的安装目录

make clean

make

make install

成功。

 

接下来安装Tokyo Tyrant

tar -zxvf tokyotyrant-1.1.33.tar.gz

cd tokyotyrant-1.1.33

./configure --prefix=/opt/tyrant --with-tc=/opt/cabinet  (--with-tc=/opt/cabinet 为你的cabinet安装目录)

make

make install

 

建立tokyotyrant数据存放目录

mkdir /ttserver

 

启动ttserver进程

cd /opt/tyrant/bin

如果有大量的客户端连接,确保我们的文件描述符够用。系统默认是1024,我们可以用使用“ulimit”来重新设定 

 

 

参数说明
  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 -TERM 2159

 



 

   

猜你喜欢

转载自tagalin.iteye.com/blog/1532726