用redis-dump工具对redis集群所有数据进行导出导入
安装redis-dump
redis-dump是基于ruby开发,需要ruby环境,而且新版本的redis-dump要求2.2.2以上的ruby版本,centos中yum只能安装2.0版本的ruby。需要先安装ruby的管理工具rvm安装高版本的ruby
安装rvm
可参考官网:http://rvm.io/
执行下列两个命令安装rvm;
# gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
# curl -sSL https://get.rvm.io | bash -s stable
# find / -name rvm -print
/usr/local/rvm
/usr/local/rvm/scripts/rvm
/usr/local/rvm/bin/rvm
/usr/local/rvm/src/rvm
/usr/local/rvm/src/rvm/scripts/rvm
/usr/local/rvm/src/rvm/bin/rvm
/usr/local/rvm/src/rvm/lib/rvm
/usr/local/rvm/lib/rvm
#使rvm生效
source /usr/local/rvm/scripts/rvm
安装ruby
# 查看可以安装的Ruby版本
rvm list known
# 当前最高的稳定版本是2.5.1
rvm install ruby 2.5.1
#查看ruby版本
ruby --version
安装redis-dump
# 移除gem自带源,国内连不上
gem sources --remove https://rubygems.org/
# 添加国内淘宝源
gem sources -a https://ruby.taobao.org/
# 安装redis-dump
gem install redis-dump –V
#查看redis-dump版本,安装成功可以开心的备份和还原redis了
redis-dump -v
redis-dump v0.4.0
使用redis-dump导出数据
redis转存储json
redis-dump -u 127.0.0.1:6378 -a password > redis_6378.json
json还原redis
< redis_6378.json redis-load -u 127.0.0.1 -a password
Redis集群数据导出导入
如果是redis集群模式,需要对集群各个实例分别导出导入,如下所示:
数据导出
命令(redis-dump -u :password@host:port -d 0 > fileName.json)无密码可省略
redis-dump -u IP1:6379 -d 0 > 6379.json
redis-dump -u IP2:6380 -d 0 > 6380.json
redis-dump -u IP3:6381 -d 0 > 6381.json
执行完成命令之后,生成3个json文件,即为集群节点数据,为提升导入效率,可以将文件拷贝到目标集群机进行导入,也可以直接在本机导入。
数据导入
命令(cat filename.json | redis-load -u :password@host:port -d 0)无密码可省略
cat 6379.json | redis-load -u IP4:6379 -d 0
cat 6380.json | redis-load -u IP5:6379 -d 0
cat 6380.json | redis-load -u IP6:6380 -d 0
注意:导入时json文件源集群节点和目的集群节点键所在的槽要对应,如果json的槽不是由导入节点处理的,会报错:提示MOVED 13596 host:port
异常处理
执行redis-dump命令时如果报ERR unknown command 'keys'异常
原因:keys命令用于全局查询 一般不建议使用所以能在redis.conf中配置了禁用该命令 。
解决方案: 检查redis.conf 中是否有该命令禁用配置
rename-command FLUSHALL "" 清空所有的库数据
rename-command FLUSHDB "" 清空当前库数据
rename-command KEYS "" 查询所有库数据 (因为数据量大时,执行此操作会消耗大量的资源 一般不建议使用该命令)
如果有注释掉即可 !
用redis-dump工具对redis集群所有数据进行导出导入的更多相关文章
- 实际使用Elasticdump工具对Elasticsearch集群进行数据备份和数据还原
文/朱季谦 目录 一.Elasticdump工具介绍 二.Elasticdump工具安装 三.Elasticdump工具使用 最近在开发当中做了一些涉及到Elasticsearch映射结构及数据导出导 ...
- redis主从同步故障切换及集群配置
一.redis是一中高性能的缓存数据库, 原理:1. 从服务器向主服务器发送 SYNC 命令.2. 接到 SYNC 命令的主服务器会调用BGSAVE 命令,创建一个 RDB 文件,并使用缓冲区记录接下 ...
- 关于redis主从|哨兵|集群模式
关于redis主从.哨兵.集群的介绍网上很多,这里就不赘述了. 一.主从 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据,因为持久化会把内存中数据保存到硬盘上,重 ...
- 深入学习Redis(5):集群
前言 在前面的文章中,已经介绍了Redis的几种高可用技术:持久化.主从复制和哨兵,但这些方案仍有不足,其中最主要的问题是存储能力受单机限制,以及无法实现写操作的负载均衡. Redis集群解决了上述问 ...
- Redis 实战篇之搭建集群
Redis 集群简介# Redis Cluster 即 Redis 集群,是 Redis 官方在 3.0 版本推出的一套分布式存储方案.完全去中心化,由多个节点组成,所有节点彼此互联.Redis 客户 ...
- redis主从|哨兵|集群模式
关于redis主从.哨兵.集群的介绍网上很多,这里就不赘述了. 一.主从 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据,因为持久化会把内存中数据保存到硬盘上,重 ...
- Redis高可用及分片集群
一.主从复制 使用异步复制 一个服务器可以有多个从服务器 从服务器也可以有自己的从服务器 复制功能不会阻塞主服务器 可以通过服务功能来上主服务器免于持久化操作,由从服务器去执行持久化操作即可. 以下是 ...
- Redis 3主-3从集群的搭建(CentOS 7)
注意ip地址为: 虚拟机ip设置 TYPE="Ethernet"BOOTPROTO="static"NAME="enp0s3"DEVICE= ...
- Redis之高可用、集群、云平台搭建
原文:Redis之高可用.集群.云平台搭建 文章大纲 一.基础知识学习二.Redis常见的几种架构及优缺点总结三.Redis之Redis Sentinel(哨兵)实战四.Redis之Redis Clu ...
随机推荐
- JavaScript-----8.数组
1.数组的概念 数组是指一组数据的集合,其中每个数据被称为元素,在数组中可以存放任意类型的元素 2. 创建数组 创建数组的两种方式: 利用new创建数组 利用数组字面量创建数组(最常用) 2.1 利用 ...
- (day68)Vue-CLI项目、页面跳转和传参、生命周期钩子
目录 一.Vue-CLI (一)环境搭建 (二)项目的创建 (三)项目目录结构 (四)Vue组件(.vue文件) (五)全局脚本文件main.js(项目入口) (六)Vue请求生命周期 二.页面跳转和 ...
- ueditor设置
1: 2:
- 性能分析-java程序篇之案例-工具和方法
1. 背景说明 线上服务响应时间超过40秒,登录服务器发现cpu将近100%了(如下图),针对此问题,本文说明排查过程.工具以定位具体的原因. 2. 分析排查过程 此类问题的排查,有两款神器可用,分别 ...
- PHP 核心特性 - 错误处理
错误与异常 错误,可以理解程序本身的错误,例如语法错误.而异常则更偏向于程序运行不符合预期或者不符合正常流程:对于 PHP 语言而言,处理错误和处理异常使用的机制完全不同,因此很容易让人产生困惑. 例 ...
- 匿名函数,内置函数II,闭包
1. 匿名函数 匿名函数,顾名思义就是没有名字的函数,那么什么函数没有名字呢?这个就是我们以后面试或者工作中经常用匿名函数 lambda,也叫一句话函数. 现在有一个需求:你们写一个函数,此函数接收两 ...
- SSH框架之Struts2第三篇
1.3相关知识点 : 1.3.1 OGNL的表达式 : 1.3.1.1 什么是OGNL OGNL是Object-Graph Navigation Language的编写,它是一种功能强大的表达式语言, ...
- 关于MySql 数据库InnoDB存储引擎介绍
熟悉MySQL的人,都知道InnoDB存储引擎,如大家所知,Redo Log是innodb的核心事务日志之一,innodb写入Redo Log后就会提交事务,而非写入到Datafile.之后innod ...
- JQuery iframe宽高度自适应浏览器窗口大小的解决方法
iframe宽高度自适应浏览器窗口大小的解决方法 by:授客 QQ:1033553122 1. 测试环境 JQuery-3.2.1.min.js 下载地址: https://gitee.com ...
- 那些你不知道的Mac截屏功能
今天介绍Mac的截图功能,如果你以为Shift + Command + 3 / 4就是Mac全部的截屏功能的话,那你小看Mac了.它远比你想得强大. 1.Shift + Cmd + 3 ——截取全屏 ...