天天消息!解决redis从服务器未配置主服务器密码导致数据未同步&磁盘饱满问题

来源: 博客园2023-06-26 16:49:17
  


【资料图】

问题前置场景

本人前几天买了一台2核4G+40G磁盘空间的云服务器用来学习使用,在服务器上安装了docker。为了学习redis主从架构,使用docker-compose部署了一主二从三台redis服务,部署完成之后测试发现从服务器并没有同步主服务器的数据,查看配置文件没有看出来什么问题,进入三台redis服务容器内部使用info replication查看主从信息发现也没有问题,看了很久都没看出问题于是就先休息了。第二天想着是不是服务器哪里的问题重启看看能不能解决,重启之后运行docker ps命令查看容器运行情况结果提示:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?。由于服务器上docker配置了开机启动,redis的docker-compose.yml配置了重启策略

# docker服务设置开机启动systemctl start dockersystemctl enable docker# docker-compose.yml设置重启策略restart: always

所以理论上重启应该会自动启动docker服务并运行redis容器

定位问题过程

既然错误提示没有启动docker,那就systemctl start docker手动启动试试,结果报错Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.,跟随提示执行systemctl status docker.service命令查看错误信息结果详细信息里也没看出具体什么原因导致的docker启动失败,于是就开始上网查资料,看看有没有遇到类似问题的博客,docker安装后启动失败--cclovezbf这位老哥的博客给了我思路,虽然我们的错误不一样,但是可以通过tail -200f /var/log/messages查看所有软件的日志,执行命令找到如下日志

Jun 26 02:06:13 hecs-411924 dockerd: time="2023-06-26T02:06:13.217249515+08:00" level=error msg="Error writing log message" driver=json-file error="error writing log entry: write /var/lib/docker/containers/77c466b6276136d2de92716f184ff4153ee400f828fd265e34ce472f8fe6ce12/77c466b6276136d2de92716f184ff4153ee400f828fd265e34ce472f8fe6ce12-json.log: no space left on device" message=

可以看到问题出在磁盘空间不足,但是我这个40G的磁盘刚安装了docker和几个镜像,怎么会磁盘就满了呢?最后通过du df命令一顿操作发现问题处在两个redis从服务器的日志上,路径是/var/lib/docker/containers/,两个从服务器日志文件分别占了大概18G,查看日志内容发现一直在刷重复日志看这一段Unexpected reply to PSYNC from master: -NOAUTH Authentication required.\n","stream": "stdout","time":"2023-06-25T14:36:02.104810656Z"},问题原因找到了,我主服务器设置了密码,但是从服务器配置文件中却没有配置主服务器的密码,导致从服务器容器一直在刷日志,最终导致磁盘爆满。另外之前的从服务器数据没有同步的问题也是这个原因

问题解决

发现问题之后解决就很简单了,在从服务器配置文件中加上主服务器密码

# 设置主服务器密码masterauth ******

重启容器之后问题解决

关键词:

责任编辑:sdnew003

相关新闻

版权与免责声明:

1 本网注明“来源:×××”(非商业周刊网)的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,本网不承担此类稿件侵权行为的连带责任。

2 在本网的新闻页面或BBS上进行跟帖或发表言论者,文责自负。

3 相关信息并未经过本网站证实,不对您构成任何投资建议,据此操作,风险自担。

4 如涉及作品内容、版权等其它问题,请在30日内同本网联系。