• 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
    
  • 相关阅读:
    Python六大开源框架对比:Web2py略胜一筹
    软件设计之UML—UML的构成[上]
    Web程序员最常用的11款PHP框架
    PHP常见框架
    WinCE的开发流程
    Windows10如何卸载OneDrive
    Windows系统中环境变量不展开的问题
    线程局部存储空间
    ping pathping tcping psping tracert
    ubuntu ufw 配置
  • 原文地址:https://www.cnblogs.com/zzzwqh/p/13462739.html
Copyright © 2020-2023  润新知