早上5点就来电话了,说一个现场环境系统崩了,,,,,
手忙脚乱,查看系统日志,redis挂了,先重启redis,越急越操作失误多,遇到问题千万不要急。
因为客户众多,客户对于服务器的水平管理良莠不齐,有少量客户,没有虚拟平台,提供的是windows的物理机。
经过redis的日志排查
[1500] 17 Jul 22:15:57.082 * 10 changes in 300 seconds. Saving...
[1500] 17 Jul 22:15:57.085 * Background saving started by pid 578692
[1500] 17 Jul 22:16:25.275 # fork operation complete
[1500] 17 Jul 22:16:25.279 * Background saving terminated with success
[1500] 17 Jul 22:21:26.000 * 10 changes in 300 seconds. Saving...
[1500] 17 Jul 22:21:26.003 * Background saving started by pid 579328
[1500] 17 Jul 22:21:30.724 # fork operation complete
[1500] 17 Jul 22:22:00.774 # EndForkOperation: 0x00000005 - EndForkOperation: Killing forked process failed.: permission denied
重点来了
EndForkOperation: 0x00000005 - EndForkOperation: Killing forked process failed.: permission denied
EndForkOperation: Killing forked process failed.: permission denied
经过一顿的百度+github大法,发现以下问题
redis官方表示,我们redis不支持windows平台,所以出啥问题我们不管。 官方回复 https://github.com/redis/redis/issues/9994
microsoftarchive/redis(3.0后已停止维护) 有12个相关问题 https://github.com/microsoftarchive/redis/issues/447
tporadowski/redis(更新到5.0)查了下issues 也有相关问题 。
博客园的一位博主说 , EndForkOperation: 0x00000005 - EndForkOperation:的意思是, 因为序列化的子程序停止,导致redis主程序停止。安装redis服务使用的是msi安装包, 安装后会自动配置redis服务, 并且配置了服务停止后自动重启服务.
大概原因是不要使用 redis作为windows的服务
如果使用服务模式,需要设置自动重启,
在服务里面找到redis,把重新启动开了,要不然挂了就没办法启动
建议解决办法
不要在windows上部署 redis
使用黑窗口模式
评论区