当我们在 rhel 机器上执行以下 cli 时,我们会得到超过 600CLOSE_WAIT
行
lsof -i tcp:8088 | grep CLOSE_WAIT
java 31100 yarn 385u IPv4 208022048 0t0 TCP master02.hgti.com:radan-http->master02.hgti.com:56504 (CLOSE_WAIT)
java 31100 yarn 407u IPv4 208210692 0t0 TCP master02.hgti.com:radan-http->master02.hgti.com:58918 (CLOSE_WAIT)
java 31100 yarn 408u IPv4 206182798 0t0 TCP master02.hgti.com:radan-http->master02.hgti.com:36538 (CLOSE_WAIT)
java 31100 yarn 410u IPv4 208447279 0t0 TCP master02.hgti.com:radan-http->master02.hgti.com:60972 (CLOSE_WAIT)
java 31100 yarn 412u IPv4 208287324 0t0 TCP master02.hgti.com:radan-http->master02.hgti.com:59820 (CLOSE_WAIT)
java 31100 yarn 413u IPv4 206107964 0t0 TCP master02.hgti.com:radan-http->master02.hgti.com:35704 (CLOSE_WAIT)
.
.
.
.
.
据我所知,服务器与客户端通信过程中,closed_wait
会出现由于服务器的socket故障而导致的情况
那么有机会从 Linux 端进行一些设置吗?为了尽量减少close wait
会话?
或者它应该是应用程序方面的唯一解决方案?
答案1
我认为这可能是您的应用程序中的一个错误,如果您在用完打开文件/套接字的最大数量之前重新启动应用程序,或者增加 ulimit 设置的任何人为限制,也许您可以控制它。
尝试查找错误报告,例如:
- https://issues.apache.org/jira/browse/YARN-9336
- https://issues.apache.org/jira/browse/YARN-4754
- https://issues.apache.org/jira/browse/YARN-10207
或者您自己举报(如果这是您的申请)。有关此类问题的讨论,请参阅:https://stackoverflow.com/questions/15912370/how-do-i-remove-a-close-wait-socket-connection