ttserver常用操作

直接输入tcrmgr查看用户帮助

-----------------------------------------------------------------------------------------------------------------

1.先启动一个测试用的ttserver
注意使用的所有路径都是绝对路径!

补充:目录temp和ulog需要自己手动提前创建

#mkdir temp ulog
ttserver -host 172.31.0.11 -port 2001 -thnum 4 -dmn -ulim 1m -ulog $(pwd)/ulog/ -log $(pwd)/temp/test.log -pid $(pwd)/temp/test.pid -uas -sid 9 $(pwd)/temp/test_data.tch#bnum=1000#rcnum=0#xmsiz=0m

2. 查看服务器统计信息
tcrmgr inform -port 1001 -st 172.31.0.11

3. 写入数据(如果已存在该键,则更新值)

tcrmgr put -port 1001 172.31.0.11 test1 value1

4. 读取数据某个键(无pv选项,默认输出:值)
tcrmgr get -port 1001 172.31.0.11 key1-1 
a

读取多个键(无pv选项,默认输出:键 值)
tcrmgr mget -port 1001 172.31.0.11 key1-1 key1-2 
key1-1 a 
key1-2 a


5. 删除数据-某个键
tcrmgr out -port 1001 172.31.0.11 test1

清空实例(所有键)

tcrmgr vanish -port 1001 172.31.0.11

6. 查看

查看所有的键
tcrmgr list -port 1001 172.31.0.11

key1

查看所有键和值

tcrmgr list -port 1001 -pv 172.31.0.11

key1 value1

列出指定键前缀的键值

[[email protected] ~]# tcrmgr list -port 1001 -fm 1key -pv 172.31.0.11 
1key-2 a 
1key-1 a

列出指定键前缀的键值只输出一行
tcrmgr list -port 1001 -fm 1key -pv -m 1 172.31.0.11 
1key-2 a

7. 使用copy的备份、还原(写锁定、读不受影响)

备份(copy)
注意:路径是服务器上的绝对路径,否则显示“./tcrmgr: error: 9999: miscellaneous error”(经测试新版本不报错,但是备份失败)
tcrmgr copy -port 1001 172.31.0.11 $(pwd)/temp/test2.tch_`date +%s%N|head -c16`

注:上面为30个线程数据文件,如果只有一个线和,则test2.tch会直接生成文件

第一种情况:只使用copy完全备份还原

测试恢复到1002实例

停止1002,如果正在运行

因为启动脚本的数据库文件目录名为port.tch所以改为1002.tch,替换现在有的1002.tch目录(或只拷贝里面的文件到现在有1002.tch)

脚本启动

完成,查看数据

注:如果30个实例的备份 还原到10个实例上,结果是10个实例上启动脚本指定10实例启用,还是会使用这30个备份文件存取。

第二种情况:配置一个从(在数据较大的时候推荐先使用copy备份数据还原,再启动实例,如果不设置默认启用后从头开始同步)

1、如果要创建新实例,请先默认初始化目录等,如果是老实例,停止实例

2、把备份数据导入到从tt,进行还原

3、修改rts文件把备份文件名的时间部分16位秒,写入rts文件(启动后从该点开始取主的ulog)

3、修改启动脚本主服务器信息

4、启动,

5、查看 信息

tcrmgr inform -st -port 3001 172.31.0.12

第三种情况:tt挂掉,有copy备份和ulog备份,两者结合最大化还原数据(ulog脚本可以只备份到最后更新文件的前一个文件)

1、如果要创建新实例,请先默认初始化目录等,如果是老实例,停止实例

2、把备份数据( copy备份和ulog)导入到从tt

3、修改rts文件把备份文件名的时间部分16位秒数,写入rts文件(启动后从该点开始取主的ulog)

4、还原copy备份

5、启动实例

6、还原ulog(copy时间后的ulog),根据备份 目录中的ulog文件(勿直接放到现在实例目录中)

7、tcrmgr restore -rcc -port 3001 172.31.0.12 `pwd`/ulog-bak

8、完成,查看数据


8. 日志导出(屏幕上打印,十六进制字符串格式)
注意:命令不同了
注意:目录是服务器上的ulog的绝对路径
ttulmgr export $(pwd)/ulog/

9. 同步内存数据到磁盘(没搞懂有什么特别之处,可能是当ttserver使用-uas参数异步写入日志的时候起作用)
tcrmgr sync -port 20000 192.168.0.100

10. 数据导入
注意:tsv格式的文件以TAB分隔,如:test2\tvalue2\n
注意:路径是本地路径,所以不必是绝对路径
tcrmgr importtsv -port 20000 192.168.0.100 temp/2.tsv

11. 通过ulog日志恢复数据(如果有所有ulog备份可以不用copy,但是一般不建议这么做,数据太大的情况下)
注意:路径是服务器上的绝对路径
tcrmgr restore -port 20000 192.168.0.100 $(pwd)/old_ulog/

12. 打印更新日志(挂起,一直显示日志)
可能是用于实时查看ttserver有哪些操作,相当于tail -f
tcrmgr repl -port 1005 -ph 172.31.0.11

13. 下一个实验:启动一个带复制功能的ttserver,以前面启动的ttserver为master
ttserver -host 192.168.0.100 -port 20001 -mhost 192.168.0.100 -mport 20000 -rcc -rts $(pwd)/temp_1/test_1.rts -thnum 4 -dmn -ulim 1024m -ulog $(pwd)/temp_1/ -log $(pwd)/temp_1/test_1.log -pid $(pwd)/temp_1/test_1.pid -sid 10 $(pwd)/temp_1/test_1.tch#bnum=1000#rcnum=0#xmsiz=0m

14. 再启动一个普通的ttserver,不与其他服务器相关
ttserver -host 192.168.0.100 -port 20002 -thnum 4 -dmn -ulim 1024m -ulog $(pwd)/ulog_2/ -log $(pwd)/temp_2/test_2.log -pid $(pwd)/temp_2/test_2.pid -sid 11 $(pwd)/temp_2/test_data_2.tch#bnum=1000#rcnum=0#xmsiz=0m

15. 修改某个ttserver的master(只换端口也需要指定master IP)

主从时间一致,取时间date +%s%N | head -c 16,修改从的rts文件(这个时间之前的日志将不会在从上执行)
tcrmgr setmst -port 20001 -mport 20002 192.168.0.100 192.168.0.100
注意:只有以复制方式启动的ttserver,修改master后才能从新的数据库复制数据

18、优化

tcrmgr optimize -port 1001 172.31.0.11
执行优化操作之后,会挨个对数据文件中的无效数据进行清洗,并且期间数据库 处于锁定状态,不可进行读写操作 。
执行过程可看到数据文件逐个被更新,新的数据文件生后,旧数据文件将被删除。从也受影响?

注:out操作需要优化,vanish操作不需要使用该选项优化

时间: 2024-08-08 13:46:34

ttserver常用操作的相关文章

Python 字典的特点和常用操作

一.字典帮助文档 >>> dir(dict) ['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt

postgresql的ALTER常用操作

postgresql版本:psql (9.3.4) 1.增加一列ALTER TABLE table_name ADD column_name datatype; 2.删除一列 ALTER TABLE table_name DROP column_name; 3.更改列的数据类型 ALTER TABLE table_name ALTER column_name TYPE datatype; 4.表的重命名 ALTER TABLE table_name RENAME TO new_name; 5.更

Mysql数据库常用操作

1.备份数据库 [[email protected] ~]# mysqldump -h 192.168.0.8 -uroot  -p'123456'  user >user.sql 2.查看mysql数据库字符集设置 mysql> show variables like 'character_set_%';+--------------------------+----------------------------+| Variable_name            | Value    

多路径软件常用操作(MPIO)

一:查看存储盘的路径 1. 查看MPIO的存储盘的路径 # lspath (适用于所有存储的MPIO路径查询) # mpio_get_config -Av (适用于DS3K/DS4K的MPIO路径查询) 2. 查看RDAC存储盘的路径 # fget_config -Av (适用于DS3K/DS4K的RDAC路径查询) 3.查看SDDPCM存储盘的路径 # pcmpath query device (适用于DS6K/DS8K和v7000的SDDPCM路径查询) 4. 查看当前操作系统自带的支持IB

Python学习笔记五:字符串常用操作,字典,三级菜单实例

字符串常用操作 7月19日,7月20日 ,7月22日,7月29日,8月29日,2月29日 首字母大写:a_str.capitalize() 统计字符串个数:a_str.count("x") 输出字符,不够的使用指定的字符补上,字符居中:a_str.center(50,"-") 判断字符串以什么结尾:a_str.endwith("xx") 将字符串中的tab转换为指定数目的空格:a_str.expandtabs(tabsize=30) 查找指定字符

jQuery的常用操作

梳理一下jQuery的常用操作 jQuery隐藏显示对象 id为test的元素的display修改成了"none",即隐藏了id为test的元素:$('#test').css('display','none') 或 $('#test').style.display="none" 我们经常用到的是切换一个元素的隐藏与现实,下面给出代码: var show = $('#test').css('display');//获取id为test的元素的display的值$('#t

MongoDB常用操作

1.MongoDB常用操作 1.1数据库的操作命令 1.创建数据库,使用命令 use 数据库名称 ,如 use sxf. *注意: 1.use 命令后跟的数据库名,如果存在就进入此数据库,如果不存在就创建,所以这种创建方式又叫隐式创建 2.使用命令use sxf创建数据库后,并没有真正生成对应的数据文件,如果此时退出,此数据库将被删除,只有在此数据库中创建集合后,才会真正生成数据文件 2. 删除当前数据库,使用命令 db.dropDatabase() 3.查看所有数据库,使用命令 show db

git bash 常用操作文件命令

git bash常用操作文件命令 在Windows下使用Git Bash,用的是Linux命令,常用几个文件操作命令如下: Windows命令 Linux 命令 意义 Windows命令 Linux 命令 意义 cd e:\xxx cd /e/xxx 切换到xxx目录 cd pwd 显示当前目录路径 dir ls 列出当前目录内容 copy nul xxx.txt touch xxx.txt 生成名为xxx.txt的空文件 del xxx.txt rm xxx.txt 删除xxx.txt文件 m

位运算常用操作总结位运算应用口诀清零取反要用与,某位置一可用或若要取反和交换,轻轻松松用异或移位运

来源:http://www.educity.cn/wenda/381487.html 位运算常用操作总结位运算应用口诀 清零取反要用与,某位置一可用或 若要取反和交换,轻轻松松用异或 移位运算 要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形.     2 " $amp;     3 "$amp;>amp;>quot;$右移:右边的位被挤掉.对于左边移出的空位,如果是正数则空位补0,若为负数,可能补0或补1,这取决于所用的计算机系统.     4 "