第二十一章 单节点数据迁移到集群
1.安装工具
yum install libtool autoconf automake git bzip2 -y
cd /opt/
git clone https://github.com/vipshop/redis-migrate-tool.git
cd redis-migrate-tool/
autoreconf -fvi
./configure
make && make install
2.编写配置文件
cat > 6379_to_6380.conf << EOF
[source]
type: single
servers:
- 10.0.0.51:6379
[target]
type: redis cluster
servers:
- 10.0.0.51:6380
[common]
listen: 0.0.0.0:8888
source_safe: true
EOF
3.单节点生成测试数据
redis-server /opt/redis_6379/conf/redis_6379.conf
cat >input_6379.sh<<EOF
#!/bin/bash
for i in {1..1000}
do
redis-cli -c -h db01 -p 6379 set oldzhang_\${i} oldzhang_\${i}
echo "set oldzhang_\${i} is ok"
done
EOF
4.运行工具迁移单节点数据到集群
redis-migrate-tool -c 6379_to_6380.conf
5.运行工具验证数据是否迁移完成
redis-migrate-tool -c 6379_to_6380.conf -C redis_check
第二十二章 RDB文件迁移到集群
1.先把集群的RDB文件都收集起来
- 在从节点上执行bgsave命令生成RDB文件
redis-cli -h db01 -p 6381 BGSAVE
redis-cli -h db02 -p 6381 BGSAVE
redis-cli -h db03 -p 6381 BGSAVE
2.把从节点生成的RDB文件拉取过来
mkdir rdb_backup
cd rdb_backup/
scp db01:/data/redis_6381/redis_6381.rdb db01_6381.rdb
scp db02:/data/redis_6381/redis_6381.rdb db02_6381.rdb
scp db03:/data/redis_6381/redis_6381.rdb db03_6381.rdb
3.清空数据
redis-cli -c -h db01 -p 6380 flushall
redis-cli -c -h db02 -p 6380 flushall
redis-cli -c -h db03 -p 6380 flushall
4.编写配置文件
cat >rdb_to_cluter.conf <<EOF
[source]
type: rdb file
servers:
- /root/rdb_backup/db01_6381.rdb
- /root/rdb_backup/db02_6381.rdb
- /root/rdb_backup/db03_6381.rdb
[target]
type: redis cluster
servers:
- 10.0.0.51:6380
[common]
listen: 0.0.0.0:8888
source_safe: true
EOF
5.使用工具导入
redis-migrate-tool -c rdb_to_cluter.conf
第二十三章 使用工具分析key的大小
0.需求背景
redis的内存使用太大键值太多,不知道哪些键值占用的容量比较大,而且在线分析会影响性能.
1.安装命令:
yum install python-pip gcc python-devel -y
cd /opt/
git clone https://github.com/sripathikrishnan/redis-rdb-tools
cd redis-rdb-tools
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-lzf
mkdir ~/.pip/
cat >~/.pip/pip.conf <<EOF
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn
EOF
pip install redis #家目录下执行
python setup.py install #/opt/redis-rdb-tools 下执行
2.生成测试数据:
redis-cli -h db01 -p 6379 set txt $(cat txt.txt)
3.执行bgsave生成rdb文件
redis-cli -h db01 -p 6379 BGSAVE
4.使用工具分析:
cd /data/redis_6379/
rdb -c memory redis_6379.rdb -f redis_6379.rdb.csv
5.过滤分析
awk -F"," '{print $4,$3}' redis_6379.rdb.csv |sort -r
6.将结果整理汇报给领导,询问开发这个key是否可以删除
第二十四章 使用工具将rdb转换成json
rdb --command json redis_6379.rdb -f redis_6379.rdb.json
第二十五章 使用工具对比rdb文件差异
cd /root/rdb_backup
rdb --command diff db01_6381.rdb | sort > dump1.txt
rdb --command diff db02_6381.rdb | sort > dump2.txt
vimdiff dump1.txt dump2.txt
网友评论