2

当我从https://github.com/ibm-messaging/message-hub-samples运行 Kafka 本机消息中心示例代码时,出现以下异常:

Exception in thread "main" org.apache.kafka.common.KafkaException: Failed to construct kafka producer
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:320)
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:180)
    at com.example.ProducerRunnable.<init>(ProducerRunnable.java:44)
    at com.example.KafkaNativeSample.createMessageProducer(KafkaNativeSample.java:113)
    at com.example.KafkaNativeSample.main(KafkaNativeSample.java:65)
Caused by: org.apache.kafka.common.KafkaException: org.apache.kafka.common.KafkaException: java.io.FileNotFoundException: 
    at org.apache.kafka.common.network.SSLChannelBuilder.configure(SSLChannelBuilder.java:45)
    at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:49)
    at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:79)
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:270)
    ... 4 more
Caused by: org.apache.kafka.common.KafkaException: java.io.FileNotFoundException: 
    at org.apache.kafka.common.security.ssl.SSLFactory.configure(SSLFactory.java:99)
    at org.apache.kafka.common.network.SSLChannelBuilder.configure(SSLChannelBuilder.java:41)
    ... 7 more
Caused by: java.io.FileNotFoundException: 
    at java.io.FileInputStream.<init>(FileInputStream.java:156)
    at java.io.FileInputStream.<init>(FileInputStream.java:111)
    at org.apache.kafka.common.security.ssl.SSLFactory$SecurityStore.load(SSLFactory.java:201)
    at org.apache.kafka.common.security.ssl.SSLFactory$SecurityStore.access$000(SSLFactory.java:186)
    at org.apache.kafka.common.security.ssl.SSLFactory.createSSLContext(SSLFactory.java:123)
    at org.apache.kafka.common.security.ssl.SSLFactory.configure(SSLFactory.java:97)
    ... 8 more

缺少什么文件?

4

1 回答 1

3

示例resources/consumer.propertiesresources/producer.properties文件需要编辑以指定 JRE 证书颁发机构存储的位置及其密码。

例如,使用默认的 JRE 存储:

ssl.truststore.location=C:\\Java80\\jre\\lib\\security\\cacerts
ssl.truststore.password=changeit
于 2015-11-05T09:35:54.953 回答