`

TTserver运维方案

 
阅读更多

* 配置TTserver服务器的启动脚本

安装ttserver后默认在/usr/local/sbin目录下有ttservctl启动脚本示例,建议copy到具体ttserver数据存放
的目录(一个机器可能有多个ttserver服务器,分开便于配置和管理)
cp /usr/local/sbin/ttservctl /data/ttserver_data/;
cd /data/ttserver_data;
配置启动脚本ttservctl , vim ttservctl;如:

# configuration variables
basedir=”/data/ttserver_data” #数据库目录
port=”1978″ #ttserver端口
ulimsiz=”256m” #对单个ulog文件限制,超过将新建一个文件
sid=1 #server id同mysql,不能有重复的
mhost=”remotehost1″ #master的地址
mport=”1978″ #master端口
extfile=”$basedir/ext.lua” #lua扩展脚本文件,默认ttservctl没有这项,如果要使用lua扩展请加上,
#并在启动脚本下面的逻辑代码中增加相应判断。
rtsfile=”$basedir/rts” #replication的时间记录文件
dbname=”$basedir/database_name.tch#bnum=bucket数量#xmsiz=最大使用内存”
#数据库名称及优化参数(“#”后面参数,根据需求配置,bnum推荐为记录数0.5-4倍,xmsiz理论上越大性能越好,
默认64M,也可以使用默认配置,去掉“#”后面参数即可启动)

启动ttserver服务器:./ttservctl start ; 关闭ttserver服务器:./ttservctl stop ;

note:可以放入rc.local中, ttserver启动脚本如果错误会有提示,也可以检查端口是否启用来确定ttserver的启动是否成功

* TTserver的监控

监控命令:tcrmgr inform -st -port 服务器使用的端口 监控服务地址
监控程序提供数据项包括:内存使用,数据文件大小,读写次数,未命中key数量等,由cacti定时读取实现监控
示例地址:http://…/cacti/graph.php?action=view&rra_id=all&local_graph_id=1050
增加磁盘io监控,iotop (iotop要求linux内核2.6.20以上)

note:具体阀值可以设定iotop占总量的80%

* TTserver的备份

全量热备份

备份命令为:tcrmgr copy -port 1978 localhost dpath.tch.xxxxx (其中xxxxx为备份时间)
根据业务需求及数据库运行状态决定备份的频度,全量热备时数据库库会写锁定,读不受影响。全量备份需记录备份时间点以
提供replication恢复时所用,时间记录点精确的微妙,可记录到备份文件名中,如backup.tch.1259474040630024。

示例备份脚本:
[ -n "$1" ] || { echo “input port number”; exit; }
[ -n "$2" ] || { echo “input backup dir”; exit; }

backup_date=`date +%s%N`
backup_date=`expr $backup_date / 1000`
tcrmgr copy -port ${1} localhost ${2}/backup_${1}.tch.${backup_date}
echo “back up finish! ${2}/backup_${1}.tch.${backup_date}”

增量备份ulog
ttserver产生的ulog在”$basedir/ulog”目录,设置了ulimsiz后会按文件尺寸进行切割并按数据升序命名,可以根据备份的
频度,按ulog文件最后修改时间,备份到ulog最大命名数字的前一个文件,同时也需记录备份时间,可将时间记录在打包备
份的文件名中,如backup_ulog.1259474040630024.tar.gz, 和全量备份一样,精确到微妙。

note:全量备份速度和服务器情况有关,基本接近直接copy速度

* TTserver的恢复

使用replication恢复
根据备份方案中数据库全量备份方法得到的备份库,如backup.tch.xxxxxx ,
echo xxxxxx > “$basedir/rts” 写入备份时间点,即恢复时间点
cp backup.tch.xxxxx database_name.tch
启动: ./ttservctl start
恢复的库会根据时间点去master库同步数据,实现恢复

使用日志增量恢复

先使用前一个全量备份的数据库文件作为基数据库,下线要整理的ttserver。

清空原来的日志,然后解压,再cp 备份的ulog文件 $basedir/ulog/ ,
echo xxxxxx > “$basedir/rts” 写入备份时间点(压缩文件名中包含),即恢复时间点
单独启动ttserver : ttserver database_name.tch
从日志恢复:tcrmgr restore -port port -rcc localhost ulog
ctrl+c停掉ttserver,然后使用 ./ttservctl start 启动,master结构重新建立

note:日志增量恢复环节应避免受其他ttserver的服务器影响,如可以使用一个不使用的端口进行恢复,这样数据也不会影

响到其他服务器,恢复后再用原来的启动脚本启动,形成原来的dual master结构

* TTserver优化

定期优化,整理数据文件碎片,优化命令:
tcrmgr optimize -port port host

note:整理时会锁库,读写都锁定

* 备注

基于dual master的结构具有较高的可靠性,dual master其实就是实时的热备方案,所以在备份频度和广度上是否可以

适当宽松一些?建议每天备份全量即可,增量的日志一直留在服务器上,但是日志的分割尺寸要根据业务和恢复的粒度来确定。

note:示例数据库目录 /data/ttserver_data

分享到:
评论

相关推荐

    ttserver

    ttserver tokyocabinet-1.4.27.tar

    TTserver1.1.4

    TTserver1.1.4

    TTserver测试结果

    TTserver测试结果. 测试验证同步效率还是蛮高的。

    memcached和TTserver的使用

    TTServer经过两年左右的发展,目前成为应用很广的NoSQL存储方案。性能好,有复制功能、代码量小,容易吃透,在key-value数据存储领域很有优势。 hash方式结合复制功能,数据安全性较高,运行稳定。 B+ Tree方式...

    ttserver-lib包

    tokyocabinet-1.4.45.tar.gz tokyotyrant-1.1.41.tar.gz tokyotyrant-0.11.jar ch-tokyocabinet-java-1.24.0.jar

    ttserver.exe

    主要用于远程协助使用,比QQ远程协助速度更快,更好用一些。 被协助者请运行“ttserver.exe”运行软件之后,随便输入一个验证码,然后点击‘被协助’,并将验证码告知协助方,协助方运行“ttclient.exe”

    TTSERVER V2.1.1

    很方便的远程软件,突破距离的限制。大家帮助大家

    ttserver被协助端.rar

    ttserver被协助端,这个不用介绍了吧,大家都知道

    远程协助软件-TTVNC

    主要用于远程协助使用,比QQ远程协助速度更快,更好用一些。...若被协助方的‘被协助’按钮为灰色,请去掉后面‘自动连接’的勾,然后退出软件重新运行 ttserver.exe 输入验证码并点击被协助即可。

    TTServer-Docs:蘑菇街TeamTalk TTServer文档

    TTServer-Docs蘑菇街TeamTalk TTServer文档双击docs->html->index.html即可打开

    关于使用key/value数据库redis和TTSERVER的心得体会

    先说redisredis是一个类似memcached的key/value存储系统,它支持存储的value类型相对较多,包括string(字符串)、 list(链表)、set(集合)和zset(有序集合)。在此基础上,redis支持各种不同方式的排序。...

    TTServer:蘑菇街一款既是做开源又是做产品的企业办公即时通信软件

    ###项目背景 随着蘑菇街由导购向电商转型,蘑菇街自己的IM也应运而生,IM起初只是用于商家和 买家之间沟通的工具。后面我们问自己,既然已经有了用于客服的IM,为什么不自己 做一个IM,用于公司内部的沟通工具,来...

    https-github.com-mogutt-TTServer

    TeamTalk是一套开源的企业办公即时通讯软件,作为整套系统的组成部分之一,TTServer为TeamTalk 客户端提供用户登录,消息转发及存储等基础服务。 TTServer主要包含了以下几种服务器: LoginServer (C++): 登录服务器...

    TTMobile:用于通过 TTServer 存储 GPS 轨迹的 Android 应用程序

    TTMobile 用于通过 TTServer 存储 GPS 轨迹的 Android 应用程序

    远程工具ttvnc

    远程工具,才几百K的容量,小巧精致。简单实用,只要填上相同的验证码,点协助或被协助,就能能够远程帮助朋友解决问题

    远程控制软件被控端下载

    被控端被控端被控端被控端被控端被控端被控端被控端被控端被控端被控端被控端被控端被控端被控端被控端被控端被控端被控端被控端被控端被控端被控端

    远程控制软件 ttvnc软件

    你可以用这个软件,来帮助其他人维护电脑等等...

    ftpserver小工具

    在windows上快速搭建ftp的小工具

    TeamTalk全套源码

    TeamTalk是一套开源的企业办公即时通讯软件,作为整套系统的组成部分之一,TTServer为TeamTalk 客户端提供用户登录,消息转发及存储等基础服务。 TTServer主要包含了以下几种服务器: LoginServer (C++): 登录服务器...

Global site tag (gtag.js) - Google Analytics