docker安装redis-dump工具

35 篇文章 0 订阅

离线安装redis-dump工具
1 场景和问题
1.1 redis-dump工具作用
​ redis-dump可以将redis数据库中的各个slot中的数据导出到文本中,方便迁移备份数据;

1.1 为什么采用redis-dump容器的方式
​ 使用普通的物理机直接安装redis-dump工具,需要下载各种各样的依赖,相对都比较麻烦(例如安装ruby2.2以上版本的依赖),各种rvm依赖包的安装;

​ 使用docker容器单间redis-dump,直接下载依赖安装更简单;

2.下载安装redis-dump工具
2.1 下载镜像
下载地址https://hub.docker.com/r/gaofeng0300/redis-dump

docker pull gaofeng0300/redis-dump:latest

2.2安装

docker run --rm --name fct-redis-dump \
-v /data/my-redis-dump/data:/data \
-v /data/my-redis-dump/dump.rb:/var/lib/gems/2.5.0/gems/redis-dump-0.4.0/lib/redis/dump.rb \
gaofeng0300/redis-dump:latest 

2.3 进入容器,执行redis-dump命令,
(1)导出

redis-dump -u localhost:6379 > ./redis_6379.json

(2)导入

cat ./redis_6379.json | redis-load -u localhost:6379

此时,可能报错。

执行 redis-dump 报错:ERROR (Errno::ENOENT): No such file or directory - ps -o rss= -p xxxxx

解决参考:https://blog.csdn.net/qq_36759224/article/details/100812814

即, 修改dump.rb这个配置文件就可以了;

解决方法:找到 Ruby 安装目录下的 dump.rb 文件,用记事本或者 VS Code 打开

比如我的路径为:E:\Ruby26-x64\lib\ruby\gems\2.6.0\gems\redis-dump-0.4.0\lib\redis\dump.rb

注释掉第 32 行代码: `ps -o rss= -p #{Process.pid}`.to_i # in kb

----我是分割线-----

注意事项说明:
如果出现小数量redis-dump的slot可以down下来,但是部分大数据量的slot槽位,dump的过程中出现killed的提示,多数情况下,都是因为redis-dump容器内存过小的原因导致该问题(只用分配比solt更大的容器资源内存即可解决!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值