I have installed kafka via docker. When i run the docker-compose up command I face following errors:
[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
Below is my docker-compose.yml file:
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
Advertisement
Answer
Change the variable values to use /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