`
cwhqt
  • 浏览: 4767 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

TTserver运维方案

 
阅读更多

TTserver运维方案
note:示例数据库目录 /data/ttserver_data

 

* 配置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其实就是实时的热备方案,所以在备份频度和广度上是否可以

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

分享到:
评论

相关推荐

    ttserver

    总的来说,"ttserver" 和相关压缩包提供的技术栈是数据存储和处理的一个强大工具,对于需要高效、灵活且轻量级数据库解决方案的开发者来说,它们是值得考虑的选择。通过学习和使用这些工具,开发者可以构建出高性能...

    TTserver测试结果

    TTserver是一个高性能、高可用性的分布式数据库系统,其测试结果显示了优秀的同步效率。在本次测试中,TTserver被配置为multi-master模式,意味着两个master节点互相备份,确保数据的一致性和高可用性。这种设置允许...

    TTSERVER V2.1.1

    综上所述,TTServer V2.1.1作为一个远程软件,其核心价值在于提供安全、高效的远程访问解决方案,让用户能够随时随地管理和控制远程资源,实现高效协作和远程工作。它的多平台支持、安全特性、易用性和性能优化等...

    memcached和TTserver的使用

    【标题】: "深入理解memcached...综上所述,memcached和TTServer都是针对不同场景设计的高效存储解决方案,它们各有特点,适用于不同的数据处理需求。在选择使用时,应根据业务需求、数据类型和性能要求进行综合评估。

    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

    TTserver1.1.4

    "TTserver1.1.4" 是一个特定版本的服务器软件,可能是一个数据库服务或某种特定的服务器平台。从给出的信息来看,它可能是Tokyo Tyrant的一个特定版本,因为压缩包中的文件名为"tokyotyrant-1.1.41"。Tokyo Tyrant是...

    ttserver被协助端.rar

    6. 技术挑战与解决方案: 在使用ttserver时,可能会遇到性能瓶颈、网络安全、资源管理等问题。针对这些问题,开发者可以优化代码,采用多线程或异步处理技术提高效率;加强防火墙设置,使用SSL/TLS协议增强安全性;...

    ttserver.exe

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

    基于C++的蘑菇街企业办公即时通信软件TTServer设计源码

    本项目为蘑菇街自主研发的企业级办公即时通信软件TTServer的设计源码,采用C++作为主要开发语言,并涉及Java、C、Shell等多种编程语言。...TTServer既作为开源项目,也作为公司产品,旨在提供高效的企业通讯解决方案。

    TTServer-Docs:蘑菇街TeamTalk TTServer文档

    7. **故障排查与维护**:这部分提供常见错误的解决方案,如日志分析、性能监控、备份恢复等,帮助管理员解决运行过程中遇到的问题。 8. **更新与升级**:TTServer的更新迭代会带来新的特性和修复,文档会指导用户...

    最小的远程控制软件ttvnc2.2

    首先,我们要了解ttvnc2.2的两个核心组件:ttserver.exe和ttclient.exe。ttserver.exe是被控端程序,安装在需要被远程控制的计算机上。它的主要职责是监听网络连接,等待控制端的请求,并在接收到请求后提供远程桌面...

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

    总的来说,Redis因其高效、灵活和丰富的数据结构,成为许多Web应用程序首选的缓存和数据存储解决方案。同时,理解并合理利用其特性,如数据持久化、复制和不同数据类型的命令,对于优化系统性能和保证数据安全性至关...

    远程协助软件-TTVNC

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

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

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

    远程工具ttvnc

    同时,对于家庭用户来说,ttvnc也是一个理想的解决方案,例如父母可以借助它帮助身处异地的孩子解决电脑问题。 ttvnc的使用流程相当直观。一旦下载并安装了压缩包中的"ttvnc.exe"文件,用户就可以启动程序。在被...

    https-github.com-mogutt-TTServer

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

    远程控制软件被控端下载

    VNC则是一种跨平台的解决方案,支持多种操作系统。 4. **安全性考虑**:远程控制软件的使用必须重视安全问题。被控端可能会暴露于网络安全风险中,例如未授权访问、数据泄露等。因此,使用强大的加密技术(如SSL/...

    远程控制软件 ttvnc软件

    远程控制软件在IT行业中扮演着重要的角色,尤其对于技术支持、协同工作和远程办公场景来说更是不可或缺。"ttvnc软件"就是这样一款强大的远程控制工具,它允许用户通过网络连接到另一台计算机,进行屏幕共享、键盘...

Global site tag (gtag.js) - Google Analytics