【发布时间】:2019-05-26 21:27:28
【问题描述】:
我正在尝试将 ssl 配置为融合 kafka docker 平台并在开始说时出错
日志:
命令 [/usr/local/bin/dub 路径 /etc/kafka/secrets/kafka.server.keystore.jks 存在] 失败! kafka_kafka-broker1_1_13d7835ad32d 以代码 1 退出
Docker 配置:
version: '3'
services:
zookeeper1:
image: confluentinc/cp-zookeeper:5.1.0
hostname: zookeeper1
ports:
- "2181:2181"
- "2888:2888"
- "3888:3888"
environment:
ZOOKEEPER_SERVER_ID: 1
ZOOKEEPER_SERVERS: 0.0.0.0:2888:3888
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
volumes:
- zookeeper-data:/var/lib/zookeeper/data
- zookeeper-log:/var/lib/zookeeper/log
kafka-broker1:
image: confluentinc/cp-kafka:5.1.0
hostname: kafka-broker1:
ports:
- "9092:9092"
- "9093:9093"
environment:
KAFKA_LISTENERS: "PLAINTEXT://0.0.0.0:9092,SSL://0.0.0.0:9093"
KAFKA_ADVERTISED_LISTENERS: "PLAINTEXT://kafkassl.com:9092,SSL://kafkassl.com:9093"
KAFKA_ZOOKEEPER_CONNECT: zookeeper1:2181
KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 2
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
KAFKA_DELETE_TOPIC_ENABLE: "true"
KAFKA_LOG_RETENTION_HOURS: 168
KAFKA_OFFSETS_RETENTION_MINUTES: 43800
KAFKA_SSL_KEYSTORE_FILENAME: kafka.server.keystore.jks
KAFKA_SSL_TRUSTSTORE_LOCATION: /ssl/kafka.server.truststore.jks
KAFKA_SSL_TRUSTSTORE_PASSWORD: pass
KAFKA_SSL_KEYSTORE_LOCATION: /ssl/kafka.server.keystore.jks
KAFKA_SSL_KEYSTORE_PASSWORD: pass
KAFKA_SSL_KEY_PASSWORD: pass
volumes:
- kafka-data:/var/lib/kafka/data
- /ssl:/etc/kafka/secrets
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
depends_on:
- zookeeper1
volumes:
zookeeper-data:
zookeeper-log:
kafka-data:
【问题讨论】:
-
请出示您的 docker 配置
-
添加了上面的docker配置请检查。非常感谢
-
你的卷在
/etc/kafka/sercrets,所以环境变量也需要使用/etc/kafka/secrets/。我强烈建议starting with the example,然后只编辑 JKS 文件和密码,不理会 Docker Compose 文件。 -
我找到了解决方案。步骤: 1. 创建一个文件夹并复制您的.jks 文件 2. 创建三个文本文件并粘贴您的 jks 密码 3. 并安装包含密码的 jks 和文本文件。这肯定会奏效。示例:以下环境属性应该是 docker compose file KAFKA_SSL_KEYSTORE_CREDENTIALS 中您的 kafka 的文本文件:keystore_creds -->
-
@Senthil,能否请您添加这个问题的答案,以及 docker-compose 的最终外观?
标签: docker ssl apache-kafka confluent-platform jks