Redis 数据迁移 & 数据审计
Redis 数据迁移
安装迁移工具
# 安装依赖
[root@dbtest03 ~]# yum install -y automake libtool autoconf bzip2 git
# 拉取工具
[root@dbtest03 ~]# git clone https://github.com/vipshop/redis-migrate-tool
# 或者上传包
# 安装
[root@dbtest03 ~]# cd redis-migrate-tool/
[root@dbtest03 redis-migrate-tool]# autoreconf -fvi
[root@dbtest03 redis-migrate-tool]# ./configure
[root@dbtest03 redis-migrate-tool]# make
编辑配置文件
# 数据迁移配置文件,数据迁移源
[root@dbtest03 redis-migrate-tool]# vim tocluster.sh
# 数据迁移源
[source]
# 源类型 单点 Redis 实例
type: single
# 主机 IP 地址,端口
servers:
- 172.16.1.123:6381
# 目标源
[target]
# 源类型,Redis 集群
type: redis cluster
# 主机 IP 地址,端口(集群里任意一个节点)
servers:
- 172.16.1.121:6379
[common]
listen: 0.0.0.0:8888
单节点生成数据
[root@dbtest03 ~]# vim data.sh
#!/bin/bash
for i in {1001..2000};do
redis-cli -c -p 6381 -h 172.16.1.123 set k${i} v${i}
done
[root@dbtest03 ~]# sh data.sh
准备无数据集群
[root@dbtest01 ~]# redis-trib.rb info 172.16.1.121:6379
172.16.1.121:6379 (85622647...) -> 0 keys | 5461 slots | 1 slaves.
172.16.1.123:6379 (98f828cc...) -> 0 keys | 5461 slots | 1 slaves.
172.16.1.122:6379 (0f0232ee...) -> 0 keys | 5462 slots | 1 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.
迁移数据
# 执行数据迁移
[root@dbtest03 redis-migrate-tool]# src/redis-migrate-tool -c tocluster.sh &
# 查看数据是否迁移到集群中
[root@dbtest01 ~]# redis-trib.rb info 172.16.1.121:6379
172.16.1.121:6379 (85622647...) -> 333 keys | 5461 slots | 1 slaves.
172.16.1.123:6379 (98f828cc...) -> 338 keys | 5461 slots | 1 slaves.
172.16.1.122:6379 (0f0232ee...) -> 329 keys | 5462 slots | 1 slaves.
[OK] 1000 keys in 3 masters.
0.06 keys per slot on average.
Redis 数据审计
安装工具
# 安装依赖
[root@dbtest02 ~]# yum install -y python-pip python-devel
# 安装工具
[root@dbtest02 ~]# pip install rdbtools python-lzf
# 下载或上传
[root@dbtest02 ~]# git clone https://github.com/sripathikrishnan/redis-rdb-tools
# 或者上传
[root@dbtest02 ~]# tar xf redis-rdb-tools.tar.gz
# 安装
[root@dbtest02 ~]# cd redis-rdb-tools
[root@dbtest02 redis-rdb-tools]# python setup.py install
生成 RDB 文件
[root@dbtest02 6381]# redis-cli -p 6381
127.0.0.1:6381> bgsave
Background saving started
127.0.0.1:6381> quit
[root@dbtest02 6381]# ll
total 44
-rw-r--r-- 1 root root 26206 Aug 7 15:18 dump.rdb
使用工具分析文件
# 使用工具生成 CSV 表格,下载下来进行分析
[root@dbtest02 6381]# rdb -c memory ./dump.rdb -f memory.csv
记录成长过程