绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Tokyo Cabinet与Tokyo Tyrant的双机互为主辅模式
2022-06-22 15:17:50

启动tokyo tyrant

单机模式

ulimit -SHn 51200
ttserver -host 127.0.0.1 -port 11211 -thnum 8 -dmn -pid /data/tt.pid -log /data/tt.log -le -ulog /data/ -ulim 128m -sid 1 -rts /data/tt.rts /data/data.tch#bnum=10000#rcnum=100000#xmsiz=256m


如果希望提高查询的性能,可以把hash的桶设置得再大些,然后缓存的记录多一些。
同时,设置-uas参数异步写入日志,可提高写入的性能。不过这样可能导致日志丢失,降低了数据安全性。

双机互为主辅模式
服务器192.168.1.11:

ulimit -SHn 51200
ttserver -host 192.168.1.11 -port 11211 -thnum 8 -dmn -pid /data/tt.pid -log /data/tt.log -le -ulog /data/ -ulim 128m -sid 1 -mhost 192.168.1.12 -mport 11211 -rts /data/tt.rts /data/data.tch#bnum=10000#rcnum=100000#xmsiz=256m

服务器192.168.1.12:

ulimit -SHn 51200
ttserver -host 192.168.1.12 -port 11211 -thnum 8 -dmn -pid /data/tt.pid -log /data/tt.log -le -ulog /data/ -ulim 128m -sid 2 -mhost 192.168.1.11 -mport 11211 -rts /data/tt.rts /data/data.tch#bnum=10000#rcnum=100000#xmsiz=256m

应用程序可以访问任意一个服务器进行读写,且应用程序发现某服务器不能访问后,可立即转到另一台服务器。

注:
数据库类型由后缀决定
    Hash Database: tch
    B+ tree database: tcb
    fixed-length database: tcf
    table database: tct
    内存Hash Database: *
    内存B+ tree database: +

参数说明:
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=10000,将新热的1万条记录缓存在内存中
hash数据库持参数: "bnum", "apow", "fpow", "opts", "rcnum", 和 "xmsiz".

rcnum'指定大的缓存记录数。如果它不大于零,那么缓存记录不可用。默认不可用。

xmsiz   指定外部内存的大小。如果不大于0,内存不可用。默认是67108864,即64M。

`bnum' 指定bucket存储桶的数量。如果指定的数目不大于0,将会使用默认的数值131071.推荐数量应该在所有需要存储的记录总数的0.4-4倍

`apow' 跟一个key关联的记录数,2的N次方表示.  如果不指定,默认2^4=16.

`fpow' specifies the maximum number of elements of the free block pool by power of 2.  默认2^10=1024.

`opts' 指定选项,位或:`HDBTLARGE' 指定数据库的大小通过使用64位数组桶能够超过2G。
      `HDBTDEFLATE'  指定每个记录被Deflate encoding压缩。
      `HDBTBZIP' 指定每个记录被BZIP2 encoding压缩
      `HDBTTCBS'指定每个记录被 TCBS encoding压缩.
停止数据库

ps aux | grep ttserver | grep -v 'grep' | awk -F ' ' '{print $2}' | xargs kill -TERM

转载于:https://www.cnblogs.com/kudosharry/articles/2268920.html

分享好友

分享这个小栈给你的朋友们,一起进步吧。

Tokyo Tyrant
创建时间:2022-04-13 16:33:57
Tokyo Tyrant
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • LCR_
    专家
戳我,来吐槽~