我使用Memurai2.0.2在我的分布式应用程序中进行缓存。它在不同的机器上运行不同的服务,所有的服务都有Memurai的详细信息。发生的问题是,有时Memurai过程只是挂起。Memurai进程继续运行,但没有提供任何查询。我无法创建到它的连接。它的日志文件包含一个错误:
Error trying to rename the existing AOF to old tempfile: Broken pipe
这通常发生在我重新启动Memurai服务时。虽然我不确定这是什么原因。如果我重新启动一次服务,Memurai就可以正常工作。
这会是什么问题呢?我可以采取什么步骤来避免/尽量减少这种情况的发生?
2条答案
按热度按时间zpgglvta1#
Memurai 2.0.2现在已经相当过时了。也许可以在https://www.memurai.com/get-memurai获取最新版本(回复时为3.1.4)
6qftjkof2#
对于任何正在寻找答案的人来说,这是因为当AOF的后台重写正在进行时,另一个服务重新启动了Memurai服务。正因为如此,一些僵尸进程正在被创建,当Memurai再次启动时,出现了这个错误。
我们所做的解决方案是使用
Persistence
信息中的设置aof_rewrite_scheduled
和aof_rewrite_in_progress
检查是否正在进行任何后台重写。如果这些标志中的任何一个为真,则不要停止该服务。