zoukankan      html  css  js  c++  java
  • Redis数据迁移 & 数据审计

    一、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
    
  • 相关阅读:
    C++ 多线程编程
    协程简介(coroutine)
    Yanhua Digimaster 3如何使用免焊适配器重置仪表板?
    Autel OTOFIX IM1 远程/在线技术支持指南
    Xhorse奥迪免焊适配器套装功能列表+常见问题
    如何通过 DDD 构建一辆汽车
    周末复习一波Linux,Linux常用命令总结,还有语法+案例
    Dubbo 基础知识
    GIT版本控制学习博客
    C++检测和定位内存泄漏
  • 原文地址:https://www.cnblogs.com/tcy1/p/13454935.html
Copyright © 2011-2022 走看看