设为首页 收藏本站
查看: 862|回复: 0

[经验分享] Tokyo Cabinet和Tokyo Tyrant及PHP扩大包的安装

[复制链接]

尚未签到

发表于 2017-4-13 10:39:37 | 显示全部楼层 |阅读模式
1. TTServer介绍:

Tokyo Cabinet 是一款DBM 数据库,该数据库读写很是快,哈希模式写入100万条数据只需0.643秒,读取100万条数据只需0.773秒,是Berkeley DB 等DBM 的几倍。哄骗Tokyo Tyrant构建兼容Memcached和谈、支撑故障转移、高并发的分布式key-value持久存储体系。key-value分布式存储体系查询速度 快、存放数据量大、支撑高并发,很是合适经由过程主键进行查询,但不克不及进行错杂的前提查询。


Tokyo Tyrant 是由同一作者开辟的Tokyo Cabinet 数据库收集接口。它拥有Memcached兼容和谈,也可以经由过程HTTP和谈进行数据互换。Tokyo Tyrant 加上Tokyo Cabinet,构成了一款支撑高并发的分布式持久存储体系,对任何原有Memcached客户端来讲,可以将Tokyo Tyrant算作是一个Memcached,然则,它的数据是可以持久存储的



根蒂根基概念:

Tokyocabinet: 一个key-value的DBM数据库,然则没有供给收集接口,简称TC。

Tokyotyrant: 是为TC写的收集接口,他支撑memcache和谈,也可以经由过程HTTP操纵,简称TT。



2. 包下载:

# wgethttp://tokyocabinet.sourceforge.net/tokyocabinet-1.4.28.tar.gz

# wget http://tokyocabinet.sourceforge.net/tyrantpkg/tokyotyrant-1.1.33.tar.gz



3. 安装tokyocabinet

# tar -zxvftokyocabinet-1.4.28.tar.gz;

# cd tokyocabinet-1.4.28;

# ./configure--prefix=/usr/local/tokyocabinet


*** 题目***

a. 编译器没有安装,解决办法:

# yum –y install gcc.i386



b. zlib组件找不到,解决办法:

# yum install bzip2.i386bzip2-devel.i386



4.安装tokyotyrant

# tar -zxvftokyotyrant-1.1.33.tar.gz

# cd tokyotyrant-1.1.33

# ./configure--prefix=/usr/local/tokyotyrant --with-tc=/usr/local/tokyocabinet

#make && make install



注:安装Tokyo Cabinet时指定目次,安装Tokyo Tyrant时用--with-tc指定Tokyo Cabinet的目次。



5.  创建启动用户,并启动。

#mkdir /var/lib/ttserver                             --创建数据文件存放目次

#groupadd ttserver                                  --添加组

#useradd –m –s /bin/bash –g ttserver ttserver             --创建用户
#chown –R ttserver.ttserver /var/lib/ttserver/


创建用户ttserver,办事会以ttserver用户启动。



#cd /usr/local/

#chown -R ttserver.ttserver tokyocabinet/ tokyotyrant/    --调剂权限

#su ttserver;

#./bin/ttserver -host 127.0.0.1 -port 11219 -thnum 8 -dmn -pid /var/lib/ttserver/ttserver.pid -log /var/lib/ttserver/ttserver.log -le -ulog /var/lib/ttserver/ -ulim 128m -sid 1 -rts /var/lib/ttserver/ttserver.rts /var/lib/ttserver/database.tcb


这里会失足,解决规划如下

cd /usr/local/tokyotyrant/lib

ln -s /usr/local/tokyocabinet/lib/libtokyocabinet.so.8 libtokyocabinet.so.8


在临盆办事器上确保文件描述符够用,默认为1024,启动ttserver前可进步此项值:

# ulimit -SHn51200



参数申明:

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] [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地址。集群

集群

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



6.  验证办事

经由过程http试调用,以curl号令为例,介绍如何操纵tokyotyrant:

(1). 写入数据库,将数据”value”写入到”key”中:

[root@localhosttokyotyrant]# curl -X PUT http://127.0.0.1:11219/key -d "value"

Created



(2). 读取”key”的值:

[root@localhosttokyotyrant]# curl http://127.0.0.1:11219/key

value



(3). 删除”key”的数据:

[root@localhosttokyotyrant]# curl -X DELETE http://127.0.0.1:11219/key

OK



7.  停止办事

找到ttserver办事过程号,并kill掉:

#kill -TERM `cat /var/lib/ttserver/ttserver.pid`



参考材料:

(1). http://blog.s135.com/post/362/4/1/

(2). http://www.162cm.com/p/tokyotyrant.html#toc23



安装PHP扩大


wget http://pecl.php.net/get/tokyo_tyrant-0.5.0.tgz

tar zxvf tokyo_tyrant-0.5.0.tgz

cd tokyo_tyrant-0.5.0

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config --with-tokyo-tyrant=/usr/local/tokyotyrant --with-tokyo-cabinet-dir=/usr/local/tokyocabinet

make

make install


将生成的扩大包文件拷到指定目次下。

cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/tokyo_tyrant.so /usr/local/php/etc/ext/tokyo_tyrant.so

安装完成今后,在php.ini里面增长一行extension = tokyo_tyrant.so,然后tt扩大就生效了。



应用的完全文档

http://us3.php.net/manual/zh/book.tokyo-tyrant.php

二、配置
  1、创建tokyotyrant数据文件存放目录
mkdir -p /ttserver/
  2、启动tokyotyrant的主进程(ttserver)
  (1)、单机模式
ulimit -SHn 51200  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

  (2)、双机互为主辅模式
  服务器192.168.1.91:
ulimit -SHn 51200  ttserver -host 192.168.1.91 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 91 -mhost 192.168.1.92 -mport 11211 -rts /ttserver/ttserver.rts /ttserver/database.tch

  服务器192.168.1.92:
ulimit -SHn 51200  ttserver -host 192.168.1.92 -port 11211 -thnum 8 -dmn -pid /ttserver/ttserver.pid -log /ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 92 -mhost 192.168.1.91 -mport 11211 -rts /ttserver/ttserver.rts /ttserver/database.tch

  (3)、参数说明
  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 : 指定用来存放同步时间戳的文件名。
  如果使用的是哈希数据库,可以指定参数“#bnum=xxx”来提高性能。它可以指定bucket存储桶的数量。例如指定“#bnum=1000000”,就可以将最新最热的100万条记录缓存在内存中:
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#bnum=1000000
  如果大量的客户端访问ttserver,请确保文件描述符够用。许多服务器的默认文件描述符为1024,可以在启动ttserver前使用ulimit命令提高这项值。例如:
ulimit -SHn 51200
  3、停止tokyotyrant(ttserver)
ps -ef | grep ttserver
  找到ttserver的进程号并kill,例如:
kill -TERM 2159

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-364335-1-1.html 上篇帖子: php出现Cannot modify header information问题的解决方法大全 下篇帖子: PHP iconv读取UTF-8有BOM文件出现解析异常
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表