标签:Redis redis 6381 rdb db02 root 迁移 数据
目录
一、redis数据迁移(单节点扩展为集群)
0.前提
# 此操作针对生产中已存在数据,但是只是单节点环境,需要对redis扩展为集群,但是数据是直接存储为rdb文件,并没有集群的槽位的概念,所以需要借助工具实现。
· 可在集群已构建好的环境中实现,直接将单节点加入到集群中来
1.安装迁移工具
#1.安装依赖
[root@db02 ~]# yum install -y automake libtool autoconf bzip2
#2.拉取工具
[root@db02 ~]# git clone https://github.com/vipshop/redis-migrate-tool
#或者上传包
#3.安装
[root@db02 ~]# cd redis-migrate-tool/
[root@db02 redis-migrate-tool]# autoreconf -fvi
[root@db02 redis-migrate-tool]# ./configure
[root@db02 redis-migrate-tool]# make
2.编写数据迁移脚本
[root@db02 redis-migrate-tool]# vim tocluster.sh
[source]
type: single
servers:
- 172.16.1.52:6381 # 单节点ip和端口
[target]
type: redis cluster
servers:
- 172.16.1.51:6379 # 集群的任意服务器ip和端口,主哦记得是。
[common]
listen: 0.0.0.0:8888 # 这里不用定义,按照这里默认即可
3.单节点生成数据
# 模拟单节点中存在的数据
[root@db03 ~]# vim data.sh
#!/bin/bash
for i in {1001..2000};do
redis-cli -c -p 6381 -h 172.16.1.52 set k${i} v${i}
done
[root@db03 ~]# sh data.sh
# 执行完后可以去redis中bgsave一下,生成rdb文件
4.迁移数据
# 使用此操作为关键,可将单节点中数据均匀分片到集群中,在生产中,如web端已经连接了此redis,可稍等数据分片完成后,
将地址修改为新集群redis地址。这里数据一直在迁移,就算有新的数据写入,也会帮助数据继续分片至集群中。
[root@db02 redis-migrate-tool]# src/redis-migrate-tool -c tocluster.sh &
二、数据审计
0.前提
数据审计一般为数据清理,如有些键值对占用空间较大,使用
1.安装工具
#1.安装依赖
[root@db02 ~]# yum install -y python-pip python-devel
#2.安装工具(指定阿里源方式去安装 )
[root@db01 ~]# pip install rdbtools python-lzf -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
#3.下载或上传
[root@db02 ~]# git clone https://github.com/sripathikrishnan/redis-rdb-tools
#或者上传
[root@db02 ~]# tar xf redis-rdb-tools.tar.gz
#4.安装
[root@db02 ~]# cd redis-rdb-tools
[root@db02 redis-rdb-tools]# python setup.py install
2.确认生成rdb文件
[root@db02 6381]# redis-cli -p 6381
127.0.0.1:6381> bgsave
Background saving started
127.0.0.1:6381> quit
[root@db02 6381]# ll
total 44
-rw-r--r-- 1 root root 26206 Aug 7 15:18 dump.rdb
3.使用工具分析文件
#使用工具生成CSV表格,下载下来进行分析,可对键值对的字节数,占用长度进行分析
[root@db02 6381]# rdb -c memory ./dump.rdb -f memory.csv
标签:Redis,redis,6381,rdb,db02,root,迁移,数据 来源: https://www.cnblogs.com/tcy1/p/13454935.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。