使用 log4j 的过时 NFS fila 句柄错误

使用 log4j 的过时 NFS fila 句柄错误

我们有几个独立运行但写入同一个日志文件的 Java 程序实例。

当日志文件被多个进程实例轮换和写入时,我们偶尔会收到陈旧的 NFS 文件句柄错误。

我们现在正在考虑为每个实例设置单独的日志文件。有没有人已经遇到过这个问题并且有更好的解决方案。

谢谢 Nayn

答案1

不要忘记 NFS 是不是POSIX 兼容文件系统。它非常关闭不符合 POSIX 规范,而人们通常会因此而绊倒。暴露其不符合规范的领域之一是删除和重命名文件,尤其是目录。

我的建议是避免让两个远程进程访问 NFS 卷上的同一个文件,除非应用程序专门编码为与 NFS 配合使用。

答案2

是的,如果您删除由另一台主机通过 NFS 打开的文件,那么您会看到此错误。

在这种情况下,单独的日志文件(或使用 syslog,或不记录到 NFS)听起来是最好的主意。

相关内容