第一步:配置Linux
ulimit -n 查看配置数量,默认1024
修改文件/etc/security/limits.conf
末尾添加:
* soft nofile 65535
* hard nofile 65535
其中*表示该设置对所有用户有效,修改完之后需要重新打开新的终端
第二步:修改logstash配置
max_open_files => 65535
重启logstash即可。
如果还报这个错误,进行第三步。
第三步:查看该报错的 logstash 进程打开的文件句柄数
lsof -p pid | wc -l
肯定是超过了我们的配置65535。说明是源文件太多,需要清理文件。
再次重启,解决该问题。