Hi,

I have setup SSL (port 9093) using keystore / truststore on each broker and
as you can see, it works if I specify the truststore, doesn’t work if I
don’t:


root@8681fd9da149:/test# kafka-console-producer --broker-list
localhost:9093 --topic test_ssl

hi

[2016-12-21 04:09:16,527] WARN Bootstrap broker localhost:9093 disconnected
(org.apache.kafka.clients.NetworkClient)

[2016-12-21 04:09:16,678] WARN Bootstrap broker localhost:9093 disconnected
(org.apache.kafka.clients.NetworkClient)

[2016-12-21 04:09:16,842] WARN Bootstrap broker localhost:9093 disconnected
(org.apache.kafka.clients.NetworkClient)

root@8681fd9da149:/test# kafka-console-producer --broker-list
localhost:9093 --topic test_ssl --producer.config client-ssl.properties

hello world

^Croot@8681fd9da149:/test#


That makes me believe that SSL is setup correctly.
Currently security.inter.broker.protocol is set to PLAINTEXT, but as soon
as I set it to SSL on one broker, I get the following error:

[2016-12-21 04:04:20,093] WARN [ReplicaFetcherThread-0-6], Error in fetch
kafka.server.ReplicaFetcherThread$FetchRequest@7f6b8a8
(kafka.server.ReplicaFetcherThread)

java.io.IOException: Connection to broker-6.example.com.au:9093 (id: 6
rack: null) failed

at
kafka.utils.NetworkClientBlockingOps$.awaitReady$1(NetworkClientBlockingOps.scala:83)

at
kafka.utils.NetworkClientBlockingOps$.blockingReady$extension(NetworkClientBlockingOps.scala:93)

at
kafka.server.ReplicaFetcherThread.sendRequest(ReplicaFetcherThread.scala:248)

at kafka.server.ReplicaFetcherThread.fetch(ReplicaFetcherThread.scala:238)

at kafka.server.ReplicaFetcherThread.fetch(ReplicaFetcherThread.scala:42)

at
kafka.server.AbstractFetcherThread.processFetchRequest(AbstractFetcherThread.scala:118)

at
kafka.server.AbstractFetcherThread.doWork(AbstractFetcherThread.scala:103)

at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:63)


Basically the broker I just switched can’t connect to any other broker.
Telnet on that hostname and port works, so it’s reachable.

Do you know what happening and how I can fix it?

My Kafka cluster starts with the following config:

security.inter.broker.protocol = SSL

ssl.cipher.suites = null

ssl.client.auth = none

ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1]

ssl.endpoint.identification.algorithm = HTTPS

ssl.key.password = [hidden]

ssl.keymanager.algorithm = SunX509

ssl.keystore.location = /etc/kafka/secrets/server.keystore.jks

ssl.keystore.password = [hidden]

ssl.keystore.type = JKS

ssl.protocol = TLS

ssl.provider = null

ssl.secure.random.implementation = SHA1PRNG

ssl.trustmanager.algorithm = PKIX

ssl.truststore.location = /etc/kafka/secrets/truststore.jks

ssl.truststore.password = [hidden]

ssl.truststore.type = JKS

I may be missing something obvious here?


Kind regards,
Stephane

Reply via email to