2

https://github.com/ibm-messaging/message-hub-samplesから Kafka ネイティブ Message Hub サンプル コードを実行すると、次の例外が発生します。

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 に答える