Kafka 구덩이 밟기 - Couldn't find leaders for Set
999 단어 오리지널빅데이터 시스템 운영 노트Kafka
org.apache.spark.SparkException: ArrayBuffer(org.apache.spark.SparkException: Couldn't find leaders for Set
이 이상한 뜻은 스파크에서 파티션의 리더를 찾을 수 없다는 것이다.CCTV를 살펴보니 이상이 발생한 시점에 브로커 하나가 끊겼다.그런데 토픽의 리플리카 설정에 대한 2는 하나를 끊어도 리플리카 꼭대기에 있을 거예요.나중에 Partition이 존재하는 Replica가 리더와 동기화 업데이트를 유지하지 않았기 때문에 통상적으로 말하는 '따라잡지 못했다' 는 것을 발견했다.어떤 Topic에서 따라잡지 못한 상황이 있는지 확인하려면:
kafka-topics.sh --describe --zookeeper XXX --topic XXX
그 중의 Replicas와 Isr가 일치하는지 관찰하고 만약에 Isr가 Replicas보다 적으면 대응하는Partition이 따라잡지 못한 상황이 존재한다
해결 방법:num.replica. 증가fetchers의 값, 이 매개 변수는 Replicas가 Leader에서 데이터를 동기화하는 스레드 수입니다. 기본값은 1입니다. 이 매개 변수를 증가하면 동기화 IO가 증가합니다.테스트를 통해 이 값을 증가하면 더 이상 따라잡을 수 없는 상황이 없습니다
문제가 해결된 방법을 확인합니다. 문제가 발생한 SparkStreaming 프로그램을 시작하고 프로그램이 정상적으로 계산된 상태에서 Kill이 브로커를 임의로 떨어뜨린 후에 실행 상황을 관찰합니다.동기화 스레드 수를 늘리기 전에kill 이후SparkStreaming은 같은 이상을 보고하고, 커지면 프로그램이 정상적으로 실행되어 문제가 해결됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
mfc ClistCtrl 페이지에 데이터베이스 데이터 표시공정이 비교적 크기 때문에 일부 코드를 추출하다. 1. 다음은 조회 데이터베이스입니다. 2. ClistCtrl 페이지 나누기 표시: 자신의 필드 수에 따라 코드를 수정할 수 있다. #define PAGERECORD ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.