我在 scala 中有一个小应用程序,它创建了 kafka 生产者并与 Apache Spark 一起运行。
当我运行命令时
spark-submit --master local[2] --deploy-mode client <into the jar file> <app Name> <kafka broker> <kafka in queue> <kafka out queue> <interval>
我收到此警告:
警告 AppInfoParser:注册 AppInfo mbean 时出错
javax.management.InstanceAlreadyExistsException: kafka.producer:type=app-info,id=
该代码不相关,因为当 Scala 创建 KafkaProducer 时我收到此异常: val producer = new KafkaProducerObject,Object
有人对此有解决方案吗?
谢谢!
最佳答案
创建 Kafka Producer 时,它会尝试使用 client.id 作为其唯一标识符来注册 MBean。
您收到 InstanceAlreadyExistsException
的原因有两种可能。警告:
close()
在初始化另一个 Producer 之前在现有 Producer 上。调用 close()
取消注册 MBean。 如果您在初始化生产者时将 client.id 属性留空,则会为您创建一个唯一的属性。为您的生产者提供唯一的 client.id 值或允许它们自动生成将解决此问题。
对于卡夫卡,MBeans可用于跟踪统计。
关于scala - Apache Spark : Getting a InstanceAlreadyExistsException when running the Kafka producer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38108963/