1

kafka 제작자를 생성하고 Apache Spark와 함께 실행되는 작은 응용 프로그램이 scala에 있습니다. 나는 명령을 실행할 때 나는 WARN이 무엇입니까Apache Spark : Kafka 제작자 실행시 InstanceAlreadyExistsException 얻기

spark-submit --master local[2] --deploy-mode client <into the jar file> <app Name> <kafka broker> <kafka in queue> <kafka out queue> <interval> 

: 오류 등록 APPINFO의 MBean javax.management.InstanceAlreadyExistsException : kafka.producer : 이 AppInfoParser WARN 유형 = 앱 정보, ID를 =

scala가 KafkaProducer를 생성 할 때이 예외가 발생하기 때문에이 코드는 적합하지 않습니다. val producer = new KafkaProducerObject, Object

누구에게도 해결책이 있습니까? 감사합니다.

답변

2

카프카 프로듀서가 생성되면 client.id를 고유 식별자로 사용하여 MBean을 등록하려고 시도합니다. 당신은 같은 JVM에서 동일한 client.id 속성을 한 번에 두 개 이상의 프로듀서를 초기화하려고

  1. :

    당신이 InstanceAlreadyExistsException 경고를 얻고있는 이유를 두 가지 가능성이 있습니다.

  2. 다른 제작자를 초기화하기 전에 기존 제작자에서 close()를 호출하지 않습니다. close()를 호출하면 (자), MBean의 등록이 해제됩니다.

생산자를 초기화 할 때 client.id 속성을 비워두면 고유 한 값이 생성됩니다. 제작자에게 고유 한 client.id 값을 부여하거나 자동 생성되도록 허용하면이 문제가 해결됩니다.

카프카의 경우 통계를 추적하는 데 MBeans을 사용할 수 있습니다. MBeans created by Kafka displayed in JMC.exe

관련 문제