本文介紹了Kafka docker-NoSuchFileException:/opt/kafka.server.keystore.jks的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我已經(jīng)通過docker安裝了Kafka。
當(dāng)我運(yùn)行docker-compose up命令時(shí),我遇到以下錯(cuò)誤:
[2022-02-28 08:13:24,185] INFO Awaiting socket connections on localhost:9092. (kafka.network.Acceptor)
kafka | [2022-02-28 08:13:24,216] ERROR Modification time of key store could not be obtained: /opt/kafka.server.keystore.jks (org.apache.kafka.common.security.ssl.DefaultSslEngineFactory)
kafka | java.nio.file.NoSuchFileException: /opt/kafka.server.keystore.jks
kafka | at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
kafka | at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
kafka | at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
kafka | at sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55)
kafka | at sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:144)
kafka | at sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:99)
kafka | at java.nio.file.Files.readAttributes(Files.java:1737)
kafka | at java.nio.file.Files.getLastModifiedTime(Files.java:2266)
kafka | at org.apache.kafka.common.security.ssl.DefaultSslEngineFactory$FileBasedStore.lastModifiedMs(DefaultSslEngineFactory.java:383)
ERROR Modification time of key store could not be obtained: /opt/kafka.server.keystore.jks
Failed to load SSL keystore /opt/kafka.server.keystore.jks of type JKS
下面是我的docker-compose.yml文件:
version: '3'
services:
zookeeper:
image: wurstmeister/zookeeper
container_name: zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
depends_on:
- zookeeper
container_name: kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_LISTENERS: 'SSL://localhost:9092'
KAFKA_LISTENERS: 'SSL://localhost:9092'
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
KAFKA_SSL_KEYSTORE_LOCATION: '/opt/kafka.server.keystore.jks'
KAFKA_SSL_KEYSTORE_PASSWORD: 'changeit'
KAFKA_SSL_KEY_PASSWORD: 'changeit'
KAFKA_SSL_TRUSTSTORE_LOCATION: '/home/ubuntu/kafka.server.truststore.jks'
KAFKA_SSL_TRUSTSTORE_PASSWORD: 'changeit'
KAFKA_SECURITY_INTER_BROKER_PROTOCOL: 'SSL'
volumes:
- ./server_certs:/certs
推薦答案
將變量值更改為使用/certs
version: '3'
services:
zookeeper:
image: wurstmeister/zookeeper
container_name: zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
depends_on:
- zookeeper
container_name: kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_LISTENERS: 'SSL://localhost:9092'
KAFKA_LISTENERS: 'SSL://localhost:9092'
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
KAFKA_SSL_KEYSTORE_LOCATION: '/certs/kafka.server.keystore.jks'
KAFKA_SSL_KEYSTORE_PASSWORD: 'changeit'
KAFKA_SSL_KEY_PASSWORD: 'changeit'
KAFKA_SSL_TRUSTSTORE_LOCATION: '/certs/kafka.server.truststore.jks'
KAFKA_SSL_TRUSTSTORE_PASSWORD: 'changeit'
KAFKA_SECURITY_INTER_BROKER_PROTOCOL: 'SSL'
volumes:
- ./server_certs:/certs
這篇關(guān)于Kafka docker-NoSuchFileException:/opt/kafka.server.keystore.jks的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,