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

Tokyo Tyrant-备份恢复和增加从库

 
阅读更多

如果我们的服务运行一段时间后,需要增加一个从库(ttserver)来分担压力或者用于负载均衡和HA,因为是线上系统,那么就不应该停机,那么我们应该怎么对数据进行备份和拷贝,然后启动一个slave从库呢?


1.如何备份和恢复

登录到ttserver服务器,执行如下命令


]# tcrmgr copy -port 11211 localhost /data/backup.tch

localhost :ttserver主机名

/data/backup.tch 备份文件保存的路径,请注意,这里指ttserver所在机器的路径。

同样,也可以备份远程机器,

]# tcrmgr copy -port 11211 remotehost /data/backup.tch

备份文件将保存在remotehost的/data/backup.tch

接下来恢复数据就比较简单,直接替换掉原有ttserver的数据文件,启动就可以了。

这种方式适用于定期的数据备份,在出现灾难故障时可以恢复到某一个时间的数据。不适合用来增加从库时需要的数据库文件。

2.如何不停机增加从库

从库需要进行同步,那么就需要有个文件的时间版本,防止数据冲突。

首先我们建立一个一个如下的脚本文件,存为"backup.sh",并赋予执行权限(chmod 755 backup.sh)。比如存在:

/data/backup/路径下。



#! /bin/sh
srcpath="$1"
destpath="$1.$2"
rm -f "$destpath"
cp -f "$srcpath" "$destpath" 接下执行如下命令,执行的时间会根据你的磁盘性能和数据大小而定。
tcrmgr copy -port 11211 masterhost '@/data/backup/backup.sh'

materthost:主库主机名,请注意:backup.sh存放的路径是在materthost机器上。

'@/data/backup/backup.sh' :如果tcrmgr copy命令中,参数以@开始,那么后面的字符串作为命令行执行。



执行完成后,我们进入ttserver的数据目录,执行ls -lh会发现类似下面的文件名,



-rw-r--r-- 1 root root 9.2G Aug 25 14:31 casket.tch.1251181588942889
请确认产生casket.tch.xxxxx类似的文件名,xxxxx代表时间戳。

接下来在从库salve上以我们备份的文件来运行ttserver,把时间错写入到一个时间戳文件ttserver.rts。




]$ ls
]$ cp casket.tch.xxxxx casket.tch
]$ echo xxxxx >ttserver.rts
]$ mkdir ulog
]$ ttserver -mhost masterhost -mport mport -port 11211 -ulog ulog -sid 2 -rts ttserver.rts casket.tch

运行后,ttserver将会以此时间戳进行同步。

masterhost :主库主机名

mport : 主库端口号

到此我们就完成了一个salve从库ttserver的增加。

3.小结

推荐备份也使用2中用到的方式,上面带上了时间戳,可以精确的知道数据的版本时间。

另外请注意:在使用此方法进行备份的时候,ttserver会在备份过程中一直保持同步阻塞和不修改数据。所以可以保证备份出来的版本跟时间戳的一致性。

分享到:
评论

相关推荐

    tokyo cabinet tyrant研究资料

    4. 易于备份和恢复:通过简单的文件复制即可完成数据库的备份和恢复。 Tokyo Cabinet 和 Tokyo Tyrant 的组合在某些特定场景下,如日志分析、高速缓存、分布式存储等,表现出了优秀的性能和可靠性。它们的使用需要...

    tokyoCabint及tokyoTyrant简介

    5. **备份与恢复**:Tokyo Tyrant提供数据备份和恢复机制,保证数据的安全性。 标签 "源码 工具" 暗示了Tokyo Cabinet和Tokyo Tyrant都是开源软件,并且它们通常被用作开发工具,用于构建其他应用的数据存储层。...

    ttserver

    4. 数据备份与恢复:Tokyo Cabinet 的文件格式支持直接复制备份,Tokyo Tyrant 可以方便地进行数据迁移或恢复。 5. 高可用性:Tokyo Tyrant 可以通过集群部署实现高可用性和负载均衡,确保服务的连续性。 在实际...

    TT server 操作手册

    1. **下载**:Tokyo Cabinet 和 Tokyo Tyrant 的源代码可以从指定的网址获取,或者访问 http://1978th.net/ 下载最新版本。 2. **检查依赖**:确保系统中已安装必要的编译工具,如 zlib-devel, bzip2-devel, 和 gcc...

    tokyocabinet-1.4.47.tar.gz

    同时,它还提供了数据备份和恢复功能,通过日志文件可以进行故障恢复,保证数据的安全性。 8. 使用场景: Tokyo Cabinet常用于日志记录、缓存系统、配置文件存储、搜索引擎索引等。它在数据挖掘、大数据分析等领域...

    NoSQL数据库笔谈

    - **Tokyo Cabinet/Tyrant**: 高性能的键值存储系统。 - **CT.M**: 基于C++的键值存储系统。 - **Scalien**: 分布式的键值存储系统。 - **BerkeleyDB**: 长期以来被广泛使用的键值存储系统。 - **MemcacheDB**: 高...

    MongoDB副本集集群

    1. 键值存储(Key-Value):典型代表如Redis、Tokyo Cabinet/Tyrant等,适用于内容缓存,处理高访问负载。 2. 列式数据库:代表包括Cassandra、HBase等,擅长处理分布式文件系统,易扩展,适合分布式扩展。 3. 文档...

    redis详细笔记

    1. **键值(Key-Value)存储数据库**:如Tokyo Cabinet/Tyrant、Redis、Voldemort等。这类数据库适用于需要高速访问的大规模数据存储场景。其数据模型为一系列键值对,具有快速查询的优势,但存储的数据缺少结构化特性...

Global site tag (gtag.js) - Google Analytics