우리는 Apache Kafka 서버에 매우 큰 문제에 직면해 있습니다. Kafka 서버는 "파일이 너무 많이 열려 있습니다."
프로덕션 Kafka 클러스터가 있습니다.7대, Kafka 버전은 다음과 같습니다.0.1
OS 버전 - RHEL 7.5
우리는 "kafka_user_nofile_limit" 도착하다500000, 원래 값은128000
하지만 우리는 다시 높은 가격을 기록했고 브로커들은 무너졌습니다
또한 Kafka 로그에 "열린 파일이 너무 많습니다"라는 줄이 많이 있음을 분명히 알 수 있습니다.
우리는 다음을 보았습니다길라사례
https://issues.apache.org/jira/browse/KAFKA-3317
하지만 우리는 이 Jira에 대한 해결책이 무엇인지 또는 이 주요 문제에 대한 해결책이 무엇인지 알 수 없습니다.
길라에서
Bug
Status:OPEN
Priority: Major
Resolution:Unresolved
Affects Version/s:
0.9.0.0, 0.9.0.1
Fix Version/s:None
Component/s:None
Labels:None
Environment:CentOS release 6.5 (Final)
kafka_2.11-0.9.0.1
Flags:
Important
Description
there is much open files in my java app client which write msg to kafka broker, i used
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.9.0.1</version>
</dependency>
new api to write msg. when i use
lsof -p 8780 | wc -l
19184
lsof -p 8780 | grep XmlIpcRegSvc | wc -l
4920
lsof -p 8780 | grep pipe | wc -l
9576
lsof -p 8780 | grep eventpoll | wc -l
4792
where 8780 is my java app pid.
java 37121 app *796u IPv6 960673997 0t0 TCP mad183:50213->mad180:XmlIpcRegSvc (ESTABLISHED)
there are many ESTABLISHED XmlIpcRegSvc , and seems not closed.
and It likes use ipv6 .
내 구성
more /etc/security/limits.d/kafka.conf
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
kafka - nofile 500000
kafka - nproc 65536