文章目录
Flink低版本的各种坑
org.apache.kafka.common.KafkaException: Failed to construct kafka producer
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:342)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:191)
at com.cy.rtc.flink.function.KafkaSinkFunction.open(KafkaSinkFunction.java:92)
at org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:36)
at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.open(AbstractUdfStreamOperator.java:111)
at org.apache.flink.streaming.runtime.tasks.StreamTask.openAllOperators(StreamTask.java:376)
at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:253)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:702)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.kafka.common.KafkaException: Error registering mbean kafka.producer:type=producer-metrics,client-id=producer-2
at org.apache.kafka.common.metrics.JmxReporter.reregister(JmxReporter.java:159)
at org.apache.kafka.common.metrics.JmxReporter.metricChange(JmxReporter.java:77)
at org.apache.kafka.common.metrics.Metrics.registerMetric(Metrics.java:436)
at org.apache.kafka.common.metrics.Sensor.add(Sensor.java:249)
at org.apache.kafka.common.metrics.Sensor.add(Sensor.java:234)
at org.apache.kafka.common.network.Selector$SelectorMetrics.<init>(Selector.java:680)
at org.apache.kafka.common.network.Selector.<init>(Selector.java:140)
at org.apache.kafka.common.network.Selector.<init>(Selector.java:147)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:306)
... 8 more
Caused by: javax.management.InstanceAlreadyExistsException: kafka.producer:type=producer-metrics,client-id=producer-2
at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
at org.apache.kafka.common.metrics.JmxReporter.reregister(JmxReporter.java:157)
... 16 more
org.apache.kafka.common.KafkaException: Failed to construct kafka producer
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:342)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:191)
at com.cy.rtc.flink.function.KafkaSinkFunction.open(KafkaSinkFunction.java:92)
at org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:36)
at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.open(AbstractUdfStreamOperator.java:111)
at org.apache.flink.streaming.runtime.tasks.StreamTask.openAllOperators(StreamTask.java:376)
at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:253)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:702)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.kafka.common.KafkaException: Error unregistering mbean
at org.apache.kafka.common.metrics.JmxReporter.unregister(JmxReporter.java:150)
at org.apache.kafka.common.metrics.JmxReporter.reregister(JmxReporter.java:155)
at org.apache.kafka.common.metrics.JmxReporter.metricChange(JmxReporter.java:77)
at org.apache.kafka.common.metrics.Metrics.registerMetric(Metrics.java:436)
at org.apache.kafka.common.metrics.Metrics.addMetric(Metrics.java:403)
at org.apache.kafka.common.metrics.Metrics.addMetric(Metrics.java:387)
at org.apache.kafka.common.metrics.Metrics.<init>(Metrics.java:144)
at org.apache.kafka.common.metrics.Metrics.<init>(Metrics.java:110)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:227)
... 8 more
Caused by: javax.management.InstanceNotFoundException: kafka.producer:type=kafka-metrics-count,client-id=producer-2
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1095)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.exclusiveUnregisterMBean(DefaultMBeanServerInterceptor.java:427)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.unregisterMBean(DefaultMBeanServerInterceptor.java:415)
at com.sun.jmx.mbeanserver.JmxMBeanServer.unregisterMBean(JmxMBeanServer.java:546)
at org.apache.kafka.common.metrics.JmxReporter.unregister(JmxReporter.java:148)
... 16 more
org.apache.kafka.common.KafkaException: Failed to construct kafka producer
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:342)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:191)
at com.cy.rtc.flink.function.KafkaSinkFunction.open(KafkaSinkFunction.java:92)
at org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:36)
at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.open(AbstractUdfStreamOperator.java:111)
at org.apache.flink.streaming.runtime.tasks.StreamTask.openAllOperators(StreamTask.java:376)
at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:253)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:702)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.kafka.common.KafkaException: Error registering mbean kafka.producer:type=producer-metrics,client-id=producer-2
at org.apache.kafka.common.metrics.JmxReporter.reregister(JmxReporter.java:159)
at org.apache.kafka.common.metrics.JmxReporter.metricChange(JmxReporter.java:77)
at org.apache.kafka.common.metrics.Metrics.registerMetric(Metrics.java:436)
at org.apache.kafka.common.metrics.Sensor.add(Sensor.java:249)
at org.apache.kafka.common.metrics.Sensor.add(Sensor.java:234)
at org.apache.kafka.clients.producer.internals.Sender$SenderMetrics.<init>(Sender.java:435)
at org.apache.kafka.clients.producer.internals.Sender.<init>(Sender.java:113)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:317)
... 8 more
Caused by: javax.management.InstanceAlreadyExistsException: kafka.producer:type=producer-metrics,client-id=producer-2
at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
at org.apache.kafka.common.metrics.JmxReporter.reregister(JmxReporter.java:157)
... 15 more
以上3个问题都是kafka注册的问题,在低版本同时启动多个kafka消费者时可能会出现以上问题。将多个任务有间隔启动后此问题消失。具体引起原因未知,老bug懒得研究了。