大叔问题定位分享(44)kafka服务重启

背景

kafka部分进程重启,报错如下:

java.io.IOException: Too many open files
  at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422)
  at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)
  at java.lang.Thread.run(Thread.java:748)

定位

通过ulimit -a查看当前用户open files是65535

再进一步查看kafka进程的open files(位置/proc/$pid/ulimits)是4096

两个配置不一样,原因是kafka进程由systemd启动,使用的配置和当前用户不一样,配置文件位置:

/usr/lib/systemd/system/kafka.service
LimitNOFILE=65535

修改之后重新加载systemd配置

systemctl daemon-reload

重启kafka进程

systemctl restart kafka

查看/proc/$pid/ulimits确认生效。

posted @ 2022-05-19 14:41  匠人先生  阅读(697)  评论(0编辑  收藏  举报