我试图启动Kafka服务,但它给出了以下错误。
● kafka.service - Apache Kafka server (broker) Loaded: loaded (/etc/systemd/system/kafka.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Wed 2021-11-17 06:16:12 UTC; 46min ago
Docs: http://kafka.apache.org/documentation.html Process: 10979 ExecStop=/opt/deployments/commoninfra/kafka/bin/kafka-server-stop.sh (code=exited, status=1/FAILURE) Process: 10409 ExecStart=/opt/deployments/commoninfra/kafka/bin/kafka-server-start.sh /opt/deployments/commoninfra/kafka/config/server.properties Main PID: 10409 (code=exited, status=1/FAILURE)
Nov 17 06:16:11 atl-kafka2 kafka-server-start.sh[10409]: at kafka.network.Acceptor.accept(SocketServer.scala:642) Nov 17 06:16:11 atl-kafka2 kafka-server-start.sh[10409]: at kafka.network.Acceptor.run(SocketServer.scala:571) Nov 17 06:16:11 atl-kafka2 kafka-server-start.sh[10409]: at java.lang.Thread.run(Thread.java:748) Nov 17 06:16:11 atl-kafka2 kafka-server-start.sh[10409]: [2021-11-17 06:16:11,519] ERROR Error while accepting connection (kafka.network.Acceptor) Nov 17 06:16:11 atl-kafka2 kafka-server-start.sh[10409]: java.io.IOException: Too many open files Nov 17 06:16:12 atl-kafka2 systemd[1]: kafka.service: Main process exited, code=exited, status=1/FAILURE Nov 17 06:16:12 atl-kafka2 kafka-server-stop.sh[10979]: No kafka server to stop Nov 17 06:16:12 atl-kafka2 systemd[1]: kafka.service: Control process exited, code=exited status=1 Nov 17 06:16:12 atl-kafka2 systemd[1]: kafka.service: Unit entered failed state. Nov 17 06:16:12 atl-kafka2 systemd[1]: kafka.service: Failed with result 'exit-code'.
如何检查以下几点找出从哪个微服务有许多连接到Kafka已建立和等待连接的总数。
我们试图通过增加ulimit来快速修复,但我们每天都面临这个问题。需要永久的解决方案
1条答案
按热度按时间yk9xbfzb1#
要调试此问题,请尝试在Kafka代理进程上发出
lsof
,以获取Kafka代理已打开的文件列表。主题分区是文件夹。检查您的
segment.ms
或segment.bytes
,看看Kafka是否设置为经常滚动新段,这最终会创建大量文件。您可能还需要考虑添加新的代理 *(如果需要 *)。
请确保您使用的是Kafka 2.1.1+。查看此票https://issues.apache.org/jira/browse/KAFKA-7697