Redis config rewrite权限问题

问题

在部署redis主从后,手动下线master后,发现slave节点变成master了,但是数据无法写入,查看日志报错如下。

1
(error) ERR Rewriting config file: Permission denied

本文原创发布于Jianger’s Blog

排查

docker部署命令如下

1
2
3
4
5
docker run --name=redis-master -d \
--restart=always \
-v /home/xxx/software/redis/master:/usr/local/etc/redis \
-p 6379:6379 redislabs/redisearch:2.4.9 \
redis-server /usr/local/etc/redis/redis.conf

问题貌似很简单,文件权限问题。单独部署一台机器也是一样的错误,跟主从配置无关,百度、Google搜索一番,得出三个方向:

  • 文件权限 修改映射的文件权限为777,但重启服务无效,一样的报错。。。
  • 宿主机selinux未关闭 经查询是关闭的
  • 未指定配置文件 嗯,官方文档里说的内容CONFIG REWRITE但其实文档里只说会报错,没有说什么错误

嗯,于是我修改了一下宿主机映射目录的权限/home/xxx/software/redis/master的权限为777,然后重启redis,最后问题解决。

本文已结束 ❤ 感谢阅读
觉得文章不错,赞赏站长一包辣条( •̆ ᵕ •̆ )◞ ❤
0%