KSQL Datagen - java.lang.ClassNotFoundException: MonitoringProducerInterceptor
KSQL Datagen - java.lang.ClassNotFoundException: MonitoringProducerInterceptor
我正在探索 confluent Kafka 并遵循 confluent 中的快速入门指南。每当我尝试使用以下命令为 Kafka 主题创建一些示例数据时,我都会收到 java.lang.ClassNotFoundException: io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor
:
bin/ksql-datagen quickstart=pageviews format=delimited topic=pageviews maxInterval=100 \ propertiesFile=etc/ksql/datagen.properties
这是堆栈跟踪
Outputting 1000000 to pageviews
[2018-08-01 11:37:06,323] INFO AvroDataConfig values:
schemas.cache.config = 1
enhanced.avro.schema.support = false
connect.meta.data = true
(io.confluent.connect.avro.AvroDataConfig:179)
Exception in thread "main" org.apache.kafka.common.KafkaException: Failed to construct kafka producer
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:460)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:320)
at io.confluent.ksql.datagen.DataGenProducer.populateTopic(DataGenProducer.java:76)
at io.confluent.ksql.datagen.DataGen.main(DataGen.java:100)
Caused by: org.apache.kafka.common.KafkaException: io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor ClassNotFoundException exception occurred
at org.apache.kafka.common.config.AbstractConfig.getConfiguredInstances(AbstractConfig.java:357)
at org.apache.kafka.common.config.AbstractConfig.getConfiguredInstances(AbstractConfig.java:332)
at org.apache.kafka.common.config.AbstractConfig.getConfiguredInstances(AbstractConfig.java:319)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:381)
... 3 more
Caused by: java.lang.ClassNotFoundException: io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.kafka.common.utils.Utils.loadClass(Utils.java:333)
at org.apache.kafka.common.utils.Utils.newInstance(Utils.java:322)
at org.apache.kafka.common.config.AbstractConfig.getConfiguredInstances(AbstractConfig.java:355)
... 6 more
我已经按照快速入门指南中给出的每个步骤进行操作,我做错了什么?
我什至重述了 confluent,但仍然得到与此 google group answer
中提到的相同的错误
我 运行 遇到了同样的问题,发现它只适用于 /etc/ksql/datagen 中的 Confluent Enterprise。属性:
# This properties file should ONLY be used when you run KSQL with Confluent Enterprise Platform.
interceptor.classes=io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor
删除 propertiesFile 后有效:
/bin/ksql-datagen quickstart=pageviews format=delimited topic=pageviews maxInterval=100
Placing monitoring-interceptors.jar
in KSQL(or which ever confluent service failing due to this error) classpath($CONFLUENT_HOME/share/java/ksql/)
should solve the issue
除了 confluent maven repo 之外的 jar 的可能位置
$CONFLUENT_HOME/share/java/monitoring-interceptors/monitoring-interceptors-*.jar
我正在探索 confluent Kafka 并遵循 confluent 中的快速入门指南。每当我尝试使用以下命令为 Kafka 主题创建一些示例数据时,我都会收到 java.lang.ClassNotFoundException: io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor
:
bin/ksql-datagen quickstart=pageviews format=delimited topic=pageviews maxInterval=100 \ propertiesFile=etc/ksql/datagen.properties
这是堆栈跟踪
Outputting 1000000 to pageviews
[2018-08-01 11:37:06,323] INFO AvroDataConfig values:
schemas.cache.config = 1
enhanced.avro.schema.support = false
connect.meta.data = true
(io.confluent.connect.avro.AvroDataConfig:179)
Exception in thread "main" org.apache.kafka.common.KafkaException: Failed to construct kafka producer
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:460)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:320)
at io.confluent.ksql.datagen.DataGenProducer.populateTopic(DataGenProducer.java:76)
at io.confluent.ksql.datagen.DataGen.main(DataGen.java:100)
Caused by: org.apache.kafka.common.KafkaException: io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor ClassNotFoundException exception occurred
at org.apache.kafka.common.config.AbstractConfig.getConfiguredInstances(AbstractConfig.java:357)
at org.apache.kafka.common.config.AbstractConfig.getConfiguredInstances(AbstractConfig.java:332)
at org.apache.kafka.common.config.AbstractConfig.getConfiguredInstances(AbstractConfig.java:319)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:381)
... 3 more
Caused by: java.lang.ClassNotFoundException: io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.kafka.common.utils.Utils.loadClass(Utils.java:333)
at org.apache.kafka.common.utils.Utils.newInstance(Utils.java:322)
at org.apache.kafka.common.config.AbstractConfig.getConfiguredInstances(AbstractConfig.java:355)
... 6 more
我已经按照快速入门指南中给出的每个步骤进行操作,我做错了什么?
我什至重述了 confluent,但仍然得到与此 google group answer
中提到的相同的错误我 运行 遇到了同样的问题,发现它只适用于 /etc/ksql/datagen 中的 Confluent Enterprise。属性:
# This properties file should ONLY be used when you run KSQL with Confluent Enterprise Platform.
interceptor.classes=io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor
删除 propertiesFile 后有效:
/bin/ksql-datagen quickstart=pageviews format=delimited topic=pageviews maxInterval=100
Placing
monitoring-interceptors.jar
in KSQL(or which ever confluent service failing due to this error) classpath($CONFLUENT_HOME/share/java/ksql/) should solve the issue
除了 confluent maven repo 之外的 jar 的可能位置
$CONFLUENT_HOME/share/java/monitoring-interceptors/monitoring-interceptors-*.jar