kafka开启了SASL验证(端口9094),gohangout使用SASL拉取数据;通过日志查看kafka频繁报出以下内容
WARN Attempting to send response via channel for which there is no open connection, connection id 10.10.110.10:9094-10.10.110.25:34408-290441 (kafka.network.Processor)
同时出现oom异常,大量close_wait连接,组件宕机
ERROR Processor got uncaught exception. (kafka.network.Processor)
java.lang.OutOfMemoryError: Java heap space
ERROR [ExpirationReaper-16-Fetch]: Error due to (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper)
java.lang.OutOfMemoryError: Java heap space
[ReplicaManager broker=16] Error processing fetch operation on partition test-33, offset 0 (kafka.server.ReplicaManager)
java.lang.OutOfMemoryError: Java heap space
使用9092端口时无任何警告和异常,运行正常。Zookeeper的maxClientCnxns配置项从1000为5000后现象缓解。
请问出现这种问题的原因是什么呢?
既然你没有更多信息,那你就先调大jvm吧。
kafka启动脚本
kafka-server-start.sh
中指定了kafka启动时需要的内存,默认为1Gexport KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
调大。
我之前评论的好像都消失了,最开始是一直有这个告警,一段时间后就会oom
WARN Attempting to send response via channel for which there is no open connection, connection id 10.10.110.10:9094-10.10.110.25:34408-290441 (kafka.network.Processor)
以及这样的错误
ERROR Uncaught exception in thread 'SensorExpiryThread': (org.apache.kafka.common.utils.KafkaThread) java.lang.OutOfMemoryError: Java heap space ERROR Uncaught exception in thread 'kafka-scheduler-2': (org.apache.kafka.common.utils.KafkaThread) java.lang.OutOfMemoryError: Java heap space ERROR Uncaught exception in scheduled task 'highwatermark-checkpoint' (kafka.utils.KafkaScheduler) java.lang.OutOfMemoryError: Java heap space WARN [ReplicaFetcher replicaId=63, leaderId=64, fetcherId=0] Error in fetch to broker 64, request (type=FetchRequest, replicaId=63, maxWait=500, minBytes=1, maxBytes=10485760, fetchData={__consumer_offsets-29=(offset=0, logStartOffset=0, maxBytes=20485760)}, isolationLevel=READ_UNCOMMITTED) (kafka.server.ReplicaFetcherThread)
内存我设置的是16G了。
我删的,你评论的和你的问题是一样的错误,你在给我看有啥意义呢。
你在观察一下吧,如果调大没有出问题,就ok了。
你的答案