Я новичок в druid и пытаюсь выполнить загрузку kafka (SSL) для druid с поддержкой SSL. Druid работает на https.
Версия Kafka: 2.2.2 Версия Druid: 0.18.1
Kafka SSL работает, и я могу гарантировать это, используя скрипты производителя и потребителя:
bin/kafka-console-producer.sh --broker-list kafka01:9093 --topic testssl --producer.config config/client.properties
bin/kafka-console-consumer.sh --bootstrap-server kafka01:9093 --topic testssl config/client.properties --from-beginning
Все вышесказанное работает. Так что я могу заверить, что SSL kafka настроен.
Конфигурация SSL Druid:
druid.enablePlaintextPort=false
druid.enableTlsPort=true
druid.server.https.keyStoreType=jks
druid.server.https.keyStorePath=.jks
druid.server.https.keyStorePassword=
druid.server.https.certAlias=
druid.client.https.protocol=TLSv1.2
druid.client.https.trustStoreType=jks
druid.client.https.trustStorePath=.jks
druid.client.https.trustStorePassword=
Конфигурация SSL Kafka:
ssl.truststore.location=<location>.jks --- The same is used for druid also
ssl.truststore.password=<password>
ssl.keystore.location=<location>.jks --- The same is used for druid also
ssl.keystore.password=<password>
ssl.key.password=<password>
ssl.enabled.protocols=TLSv1.2
ssl.client.auth=none
ssl.endpoint.identification.algorithm=
security.protocol=SSL
My consumerProperties spe c выглядит как это:
"consumerProperties": {
"bootstrap.servers" : "kafka01:9093",
"security.protocol": "SSL",
"ssl.enabled.protocols" : "TLSv1.2",
"ssl.endpoint.identification.algorithm": "",
"group.id" : "<grouop_name>",
"ssl.keystore.type": "JKS",
"ssl.keystore.location" : "/datadrive/<location>.jks",
"ssl.keystore.password" : "<password>",
"ssl.key.password" : "<password>",
"ssl.truststore.location" : "/datadrive/<location>.jks",
"ssl.truststore.password" : "<password>",
"ssl.truststore.type": "JKS"
}
После приема создается источник данных, и сегменты также создаются, но с 0 строками.
И через некоторое время я постоянно попадаю в журналы друидов:
[task-runner-0-priority-0] org. apache .kafka.clients.consumer.internals.Fetcher - [Consumer clientId = consumer-1, groupId = kafka-supervisor-llhigfpg] Отправка READ_COMMITTED IncrementalFetchRequest (toSend = (), toForget = (), implied = (testssl-0)) брокеру kafka01: 9093 (id: 0 rack: null)
И после иногда в координатор-повелитель .log Я получаю:
2020-08-03T16: 51: 42,881 DEBUG [JettyScheduler] org.eclipse.jetty.io.WriteFlusher - игнорируется: WriteFlusher@278a176a {IDLE} -> null java .util.concurrent.TimeoutException: истекло время ожидания простоя: 300001/300000 мс
Я не уверен, что пошло не так. Я не смог найти на net подробностей по этому вопросу. Нужна помощь в этом.
ПРИМЕЧАНИЕ : Когда druid не поддерживает https, а kafka не поддерживает ssl, все работает нормально.