这个kafka在Sparkstreaming生产者出问题,怎么办?
Caused by: org.apache.kafka.common.KafkaException: Failed to construct kafka producer
```scala
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.school.gmall.realtime.app.ODS_BaseLogApp$.main(ODS_BaseLogApp.scala:29)
at com.school.gmall.realtime.app.ODS_BaseLogApp.main(ODS_BaseLogApp.scala)
Caused by: org.apache.kafka.common.KafkaException: Failed to construct kafka producer
at org.apache.kafka.clients.producer.KafkaProducer.(KafkaProducer.java:432)
at org.apache.kafka.clients.producer.KafkaProducer.(KafkaProducer.java:270)
at com.school.gmall.realtime.util.MyKafkaUtil$.createProducer(MyKafkaUtil.scala:75)
at com.school.gmall.realtime.util.MyKafkaUtil$.(MyKafkaUtil.scala:54)
at com.school.gmall.realtime.util.MyKafkaUtil$.(MyKafkaUtil.scala)
... 2 more
Caused by: org.apache.kafka.common.KafkaException: class org.apache.kafka.common.serialization.StringDeserializer is not an instance of org.apache.kafka.common.serialization.Serializer
at org.apache.kafka.common.config.AbstractConfig.getConfiguredInstance(AbstractConfig.java:374)
at org.apache.kafka.common.config.AbstractConfig.getConfiguredInstance(AbstractConfig.java:392)
at org.apache.kafka.clients.producer.KafkaProducer.(KafkaProducer.java:359)
... 6 more
Process finished with exit code 1
```
看起来你好像少这个jar : kafka-clients,查找一下项目里引用了没有
另外就是需要你check一下你代码里是否使用了 StringDeserializer 代替了 StringSerializer
properties.setProperty(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
properties.setProperty(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
不知道你这个问题是否已经解决, 如果还没有解决的话: