解决redis从服务器未配置主服务器密码导致数据未同步&磁盘饱满问题
问题前置场景
本人前几天买了一台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 docker
systemctl 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 ******
重启容器之后问题解决
解决redis从服务器未配置主服务器密码导致数据未同步&磁盘饱满问题的更多相关文章
- 在windwo server2008服务器上配置ftp服务器、及配置phpstrom工具、实现项目同步。
在windwo server2008服务器上配置ftp服务器.及配置phpstrom工具.实现项目同步. 在windwo server2008服务器上配置ftp服务器 参考该篇文章:http://bl ...
- 解决Linux下pcieport 0000:00:1c.5问题导致的系统根目录/磁盘空间不足
最近刚换了笔记本,拿到本后在win10基础装上Ubuntu 16.04双系统,有个问题是每次关机都会报一堆pcie问题,并且经常没声音,声音问题通过上一篇文章暂时解决,然后就没在意了,可是几天后出现系 ...
- 解决在web.xml中配置server服务器启动失败问题
一.问题"Server Tomacat v8.5 Server at locallhost failed to start" 二.解决方法:删除注释@webServlet 三.分析 ...
- Nginx作为HTTP服务器--Nginx配置图片服务器
首先安装nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. --> gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖 ...
- Windows Server 2016 服务器总是有暴力破解密码导致的审核失败
最近看了一下公司服务器的日志,在安全里,总是有审核失败,特别烦人,尝试密码特别弱智,总是用Administrator做用户名,不停的变换密码,真的烦,用户里面根本就没有Administrator,早就 ...
- Nhibernet Get方法获取数据后,修改字段,未保存,但是数据库的数据却同步了
首先,对象是在session中取得的,所以这个对象已经和数据库同步了,或者说相关联了如果你的session中的对象发生变法,提交事务后,数据库中的数据也会更新未保存更改,不要以为session就不会在 ...
- redis持久化以及主从服务器的配置
作者:silenceper 日期:2013-10-03 原文地址:http://silenceper.com/archives/959.html redis 与memcached 最大的一个区别就是R ...
- 阿里云服务器ecs配置之安装redis服务
一.介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括st ...
- Redis3.2.5配置主从服务器遇到的一些错误
注意:关闭主从服务器的防火墙 问题一: WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net ...
- SqlServer 多服务器管理配置报错:Ensure the agent startup account for 'x.x.x.x' has rights to login as target server, Access is denied.
SQL Server 2012配置多服务器管理时,SSMS设置一直报错,配置失败: 解决方法: 1. 为SQL Server Agent单独创建一个账号,主服务器和目标服务器都创建一样的账号 2. 把 ...
随机推荐
- sqlite4操作
目录 SQLite数据库(一):基本操作... 1 目录... 1 一.SQLite介绍... 2 1. 什么是SQLite. 2 2. 什么是数据库... 2 3. 数据库是如何存 ...
- 为什么一定要用Redis?
参考: 为什么分布式一定要有Redis? 选redis还是memcache,源码怎么说?
- Arrays.asList() 示例
1 package Test.others; 2 3 import java.util.Arrays; 4 import java.util.Collections; 5 import java.ut ...
- react18中antd的Upload组件上传头像,并且拿到服务器返回的头像的url地址在页面中显示头像
业务需求:上传头像,上传完毕后拿到头像的url,把头像展示在页面中,最终把头像url和其他用户信息一起发送给服务器 上传头像流程 导入 Upload 组件和图标(一个加号,一个加载中) import ...
- 纯前端使用xlsx实现导出表格
列表数据纯前端使用xlsx实现导出功能 基础写法 let filename = "资产导出.xlsx"; 定义导出数据 let data = [ ["第一列", ...
- 【机器学习与深度学习理论要点】11.什么是L1、L2正则化?
机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作 L1-norm 和L2-norm,中文称作 L1正则化 和 L2正则化,或者 L1范数 和 L2范数.L1正 ...
- Tomacat乱码和报错UTF-8 序列的字节 2 无效和‘application/json;charset=UTF-8‘ not supported的处理
文章目录 前言 1. tomcat乱码的处理方法 2. applicationContext.xml报错2 字节的 UTF-8 序列的字节 2 无效 3. 报错'application/json;ch ...
- I-o-C 一篇概览
一.ioC 容器和 Bean介绍 IoC(Inversion of Control )也被称之为 DI(dependency injection),名称侧重点略有不同. 所谓控制翻转即对象通过构造函数 ...
- pytest的几种执行方式
1 pytest xxxx 2 python -m pytest xxxx python -m pytest --html=./report/rep2.html test_env_pytest_ini ...
- Solon 统一的返回结果调整
使用 "统一的渲染控制" 可以对输出做统一的控制外...还可以借助路由拦截器 RouterInterceptor ,对 mvc 返回结果做提交确认机制(即可修改)进行控制(相对来讲 ...